mirror of https://github.com/apache/jclouds.git
Issue 550: added api docs, identity and credential names
This commit is contained in:
parent
4d81a5aa28
commit
36e6ca787d
|
@ -19,13 +19,16 @@
|
|||
package org.jclouds.providers;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.Set;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
|
||||
/**
|
||||
* The BaseProviderMetadata class is an abstraction of {@link ProviderMetadata} to be extended
|
||||
* by those implementing ProviderMetadata.
|
||||
*
|
||||
* The BaseProviderMetadata class is an abstraction of {@link ProviderMetadata} to be extended by
|
||||
* those implementing ProviderMetadata.
|
||||
*
|
||||
* (Note: This class must be abstract to allow {@link java.util.ServiceLoader} to work properly.
|
||||
*
|
||||
*
|
||||
* @author Jeremy Whitlock <jwhitlock@apache.org>
|
||||
*/
|
||||
public abstract class BaseProviderMetadata implements ProviderMetadata {
|
||||
|
@ -39,18 +42,26 @@ public abstract class BaseProviderMetadata implements ProviderMetadata {
|
|||
int result = 1;
|
||||
URI console = getConsole();
|
||||
URI homepage = getHomepage();
|
||||
URI docs = getApiDocumentation();
|
||||
String id = getId();
|
||||
String name = getName();
|
||||
String identityName = getIdentityName();
|
||||
String credentialName = getCredentialName();
|
||||
String type = getType();
|
||||
Set<String> linkedServices = getLinkedServices();
|
||||
|
||||
result = prime * result + ((console == null) ? 0 : console.hashCode());
|
||||
result = prime * result + ((homepage == null) ? 0 : homepage.hashCode());
|
||||
result = prime * result + ((docs == null) ? 0 : docs.hashCode());
|
||||
result = prime * result + ((id == null) ? 0 : id.hashCode());
|
||||
result = prime * result + ((name == null) ? 0 : name.hashCode());
|
||||
result = prime * result + ((identityName == null) ? 0 : identityName.hashCode());
|
||||
result = prime * result + ((credentialName == null) ? 0 : credentialName.hashCode());
|
||||
result = prime * result + ((type == null) ? 0 : type.hashCode());
|
||||
result = prime * result + ((linkedServices == null) ? 0 : linkedServices.hashCode());
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @see java.lang.Object#equals(java.lang.Object)
|
||||
|
@ -59,9 +70,13 @@ public abstract class BaseProviderMetadata implements ProviderMetadata {
|
|||
public boolean equals(Object obj) {
|
||||
URI tConsole = getConsole();
|
||||
URI tHomepage = getHomepage();
|
||||
URI tDocs = getApiDocumentation();
|
||||
String tId = getId();
|
||||
String tName = getName();
|
||||
String tIdentityName = getIdentityName();
|
||||
String tCredentialName = getCredentialName();
|
||||
String tType = getType();
|
||||
Set<String> tLinkedServices = getLinkedServices();
|
||||
|
||||
if (this == obj)
|
||||
return true;
|
||||
|
@ -73,15 +88,24 @@ public abstract class BaseProviderMetadata implements ProviderMetadata {
|
|||
ProviderMetadata other = (ProviderMetadata) obj;
|
||||
URI oConsole = other.getConsole();
|
||||
URI oHomepage = other.getHomepage();
|
||||
URI oDocs = other.getApiDocumentation();
|
||||
String oId = other.getId();
|
||||
String oName = other.getName();
|
||||
String oIdentityName = other.getIdentityName();
|
||||
String oCredentialName = other.getCredentialName();
|
||||
String oType = other.getType();
|
||||
Set<String> oLinkedServices = other.getLinkedServices();
|
||||
|
||||
if (tConsole == null) {
|
||||
if (oConsole != null)
|
||||
return false;
|
||||
} else if (!tConsole.equals(oConsole))
|
||||
return false;
|
||||
if (tDocs == null) {
|
||||
if (oDocs != null)
|
||||
return false;
|
||||
} else if (!tDocs.equals(oDocs))
|
||||
return false;
|
||||
if (tHomepage == null) {
|
||||
if (oHomepage != null)
|
||||
return false;
|
||||
|
@ -97,13 +121,38 @@ public abstract class BaseProviderMetadata implements ProviderMetadata {
|
|||
return false;
|
||||
} else if (!tName.equals(oName))
|
||||
return false;
|
||||
if (tIdentityName == null) {
|
||||
if (oIdentityName != null)
|
||||
return false;
|
||||
} else if (!tIdentityName.equals(oIdentityName))
|
||||
return false;
|
||||
if (tCredentialName == null) {
|
||||
if (oCredentialName != null)
|
||||
return false;
|
||||
} else if (!tCredentialName.equals(oCredentialName))
|
||||
return false;
|
||||
if (tType == null) {
|
||||
if (oType != null)
|
||||
return false;
|
||||
} else if (!tType.equals(oType))
|
||||
return false;
|
||||
|
||||
if (tLinkedServices == null) {
|
||||
if (oLinkedServices != null)
|
||||
return false;
|
||||
} else if (!tLinkedServices.equals(oLinkedServices))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "[id=" + getId() + ", type=" + getType() + ", name=" + getName() + ", identityName=" + getIdentityName()
|
||||
+ ", credentialName=" + getCredentialName() + ", homePage=" + getHomepage() + ", console="
|
||||
+ getConsole() + ", apiDocs=" + getApiDocumentation() + ", linkedServices=" + getLinkedServices() + "]";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getLinkedServices() {
|
||||
return ImmutableSet.of(getId());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,11 +19,14 @@
|
|||
package org.jclouds.providers;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* The ProviderMetadata interface allows jclouds to provide a plugin framework
|
||||
* for gathering cloud provider metadata.
|
||||
*
|
||||
* The ProviderMetadata interface allows jclouds to provide a plugin framework for gathering cloud
|
||||
* provider metadata.
|
||||
*
|
||||
* @author Jeremy Whitlock <jwhitlock@apache.org>
|
||||
*/
|
||||
public interface ProviderMetadata {
|
||||
|
@ -32,38 +35,59 @@ public interface ProviderMetadata {
|
|||
public static final String COMPUTE_TYPE = "compute";
|
||||
|
||||
/**
|
||||
* Returns an identifier unique to the provider.
|
||||
*
|
||||
*
|
||||
* @return the provider's unique identifier
|
||||
*/
|
||||
public String getId();
|
||||
|
||||
/**
|
||||
* Returns the provider type.
|
||||
*
|
||||
*
|
||||
* @return the provider's type
|
||||
*/
|
||||
public String getType();
|
||||
|
||||
/**
|
||||
* Returns the name of the provider.
|
||||
*
|
||||
*
|
||||
* @return the name (display name) of the provider
|
||||
*/
|
||||
public String getName();
|
||||
|
||||
/**
|
||||
* Returns the URI to the provider's homepage.
|
||||
*
|
||||
*
|
||||
* @return the name (display name) of an identity on this provider (ex. user, email, account,
|
||||
* apikey)
|
||||
*/
|
||||
public String getIdentityName();
|
||||
|
||||
/**
|
||||
*
|
||||
* @return the name (display name) of a credential on this provider, or null if there is none
|
||||
* (ex. password, secret, rsaKey)
|
||||
*/
|
||||
@Nullable
|
||||
public String getCredentialName();
|
||||
|
||||
/**
|
||||
*
|
||||
* @return the url for the provider's homepage
|
||||
*/
|
||||
public URI getHomepage();
|
||||
|
||||
/**
|
||||
* Returns the URI to the provider's console.
|
||||
*
|
||||
*
|
||||
* @return the url for the provider's console
|
||||
*/
|
||||
public URI getConsole();
|
||||
|
||||
/**
|
||||
*
|
||||
* @return the url for the API documentation related to this service
|
||||
*/
|
||||
public URI getApiDocumentation();
|
||||
|
||||
/**
|
||||
*
|
||||
* @return all known services linked to the same account on this provider
|
||||
*/
|
||||
public Set<String> getLinkedServices();
|
||||
}
|
|
@ -33,12 +33,12 @@ import com.google.common.collect.Sets;
|
|||
* @author Jeremy Whitlock <jwhitlock@apache.org>
|
||||
*/
|
||||
@Test(groups = "unit")
|
||||
public abstract class BaseProviderTest {
|
||||
public abstract class BaseProviderMetadataTest {
|
||||
protected Set<String> allTypes = ImmutableSet.of(ProviderMetadata.BLOBSTORE_TYPE, ProviderMetadata.COMPUTE_TYPE);
|
||||
private final ProviderMetadata toTest;
|
||||
private final String expectedType;
|
||||
|
||||
public BaseProviderTest(ProviderMetadata toTest, String expectedType) {
|
||||
public BaseProviderMetadataTest(ProviderMetadata toTest, String expectedType) {
|
||||
this.toTest = toTest;
|
||||
this.expectedType = expectedType;
|
||||
}
|
||||
|
@ -48,6 +48,7 @@ public abstract class BaseProviderTest {
|
|||
ProviderMetadata providerMetadata = Providers.withId(toTest.getId());
|
||||
|
||||
assertEquals(toTest, providerMetadata);
|
||||
assert providerMetadata.getLinkedServices().contains(toTest.getId());
|
||||
}
|
||||
|
||||
@Test
|
|
@ -21,14 +21,14 @@ package org.jclouds.providers;
|
|||
import java.net.URI;
|
||||
|
||||
/**
|
||||
* Implementation of {@ link org.jclouds.types.ProviderMetadata} for testing.
|
||||
*
|
||||
* Implementation of @ link org.jclouds.types.ProviderMetadata} for testing.
|
||||
*
|
||||
* @author Jeremy Whitlock <jwhitlock@apache.org>
|
||||
*/
|
||||
public class JcloudsTestBlobStoreProviderMetadata extends BaseProviderMetadata {
|
||||
|
||||
/**
|
||||
* {@ see org.jclouds.types.ProviderMetadata#getId()}
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getId() {
|
||||
|
@ -36,7 +36,7 @@ public class JcloudsTestBlobStoreProviderMetadata extends BaseProviderMetadata {
|
|||
}
|
||||
|
||||
/**
|
||||
* {@ see org.jclouds.types.ProviderMetadata#getType()}
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getType() {
|
||||
|
@ -44,7 +44,7 @@ public class JcloudsTestBlobStoreProviderMetadata extends BaseProviderMetadata {
|
|||
}
|
||||
|
||||
/**
|
||||
* {@ see org.jclouds.types.ProviderMetadata#getName()}
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getName() {
|
||||
|
@ -52,7 +52,23 @@ public class JcloudsTestBlobStoreProviderMetadata extends BaseProviderMetadata {
|
|||
}
|
||||
|
||||
/**
|
||||
* {@ see org.jclouds.types.ProviderMetadata#getHomepage()}
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getCredentialName() {
|
||||
return "user";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getIdentityName() {
|
||||
return "password";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public URI getHomepage() {
|
||||
|
@ -60,11 +76,19 @@ public class JcloudsTestBlobStoreProviderMetadata extends BaseProviderMetadata {
|
|||
}
|
||||
|
||||
/**
|
||||
* {@ see org.jclouds.types.ProviderMetadata#getConsole()}
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public URI getConsole() {
|
||||
return URI.create("http://jclouds.org/console");
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public URI getApiDocumentation() {
|
||||
return URI.create("http://jclouds.org/documentation");
|
||||
}
|
||||
|
||||
}
|
|
@ -21,8 +21,8 @@ package org.jclouds.providers;
|
|||
import java.net.URI;
|
||||
|
||||
/**
|
||||
* Implementation of {@ link org.jclouds.types.ProviderMetadata} for testing.
|
||||
*
|
||||
* Implementation of @ link org.jclouds.types.ProviderMetadata} for testing.
|
||||
*
|
||||
* @author Jeremy Whitlock <jwhitlock@apache.org>
|
||||
*/
|
||||
public class JcloudsTestComputeProviderMetadata extends BaseProviderMetadata {
|
||||
|
@ -51,6 +51,22 @@ public class JcloudsTestComputeProviderMetadata extends BaseProviderMetadata {
|
|||
return "Test Compute Provider";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getCredentialName() {
|
||||
return "user";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getIdentityName() {
|
||||
return "password";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@ see org.jclouds.types.ProviderMetadata#getHomepage()}
|
||||
*/
|
||||
|
@ -67,4 +83,12 @@ public class JcloudsTestComputeProviderMetadata extends BaseProviderMetadata {
|
|||
return URI.create("http://jclouds.org/console");
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public URI getApiDocumentation() {
|
||||
return URI.create("http://jclouds.org/documentation");
|
||||
}
|
||||
|
||||
}
|
|
@ -19,10 +19,13 @@
|
|||
package org.jclouds.aws.ec2;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.Set;
|
||||
|
||||
import org.jclouds.providers.BaseProviderMetadata;
|
||||
import org.jclouds.providers.ProviderMetadata;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
|
||||
/**
|
||||
* Implementation of {@ link org.jclouds.types.ProviderMetadata} for Amazon's
|
||||
* Elastic Compute Cloud (EC2) provider.
|
||||
|
@ -55,6 +58,22 @@ public class AWSEC2ProviderMetadata extends BaseProviderMetadata {
|
|||
return "Amazon Elastic Compute Cloud (EC2)";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getIdentityName() {
|
||||
return "accessKeyID";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getCredentialName() {
|
||||
return "secretAccessKey";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
|
@ -70,5 +89,20 @@ public class AWSEC2ProviderMetadata extends BaseProviderMetadata {
|
|||
public URI getConsole() {
|
||||
return URI.create("https://console.aws.amazon.com/ec2/home");
|
||||
}
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public URI getApiDocumentation() {
|
||||
return URI.create("http://docs.amazonwebservices.com/AWSEC2/latest/APIReference");
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Set<String> getLinkedServices() {
|
||||
return ImmutableSet.of(getId(), "aws-s3");
|
||||
}
|
||||
|
||||
}
|
|
@ -16,9 +16,11 @@
|
|||
* limitations under the License.
|
||||
* ====================================================================
|
||||
*/
|
||||
package org.jclouds.providers;
|
||||
package org.jclouds.aws.ec2;
|
||||
|
||||
import org.jclouds.aws.ec2.AWSEC2ProviderMetadata;
|
||||
import org.jclouds.providers.BaseProviderMetadataTest;
|
||||
import org.jclouds.providers.ProviderMetadata;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
/**
|
||||
|
@ -27,7 +29,7 @@ import org.testng.annotations.Test;
|
|||
* @author Jeremy Whitlock <jwhitlock@apache.org>
|
||||
*/
|
||||
@Test(groups = "unit", testName = "AWSEC2ProviderTest")
|
||||
public class AWSEC2ProviderTest extends BaseProviderTest {
|
||||
public class AWSEC2ProviderTest extends BaseProviderMetadataTest {
|
||||
|
||||
public AWSEC2ProviderTest() {
|
||||
super(new AWSEC2ProviderMetadata(), ProviderMetadata.COMPUTE_TYPE);
|
|
@ -0,0 +1,109 @@
|
|||
/**
|
||||
*
|
||||
* Copyright (C) 2011 Cloud Conscious, LLC. <info@cloudconscious.com>
|
||||
*
|
||||
* ====================================================================
|
||||
* 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.aws.s3;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.Set;
|
||||
|
||||
import org.jclouds.providers.BaseProviderMetadata;
|
||||
import org.jclouds.providers.ProviderMetadata;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
|
||||
/**
|
||||
* Implementation of @ link org.jclouds.types.ProviderMetadata} for Amazon's Simple Storage Service
|
||||
* (S3) provider.
|
||||
*
|
||||
* @author Adrian Cole
|
||||
*/
|
||||
public class AWSS3ProviderMetadata extends BaseProviderMetadata {
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getId() {
|
||||
return "aws-s3";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getType() {
|
||||
return ProviderMetadata.BLOBSTORE_TYPE;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Amazon Elastic Compute Cloud (S3)";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getIdentityName() {
|
||||
return "accessKeyID";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getCredentialName() {
|
||||
return "secretAccessKey";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public URI getHomepage() {
|
||||
return URI.create("http://aws.amazon.com/s3/");
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public URI getConsole() {
|
||||
return URI.create("https://console.aws.amazon.com/s3/home");
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public URI getApiDocumentation() {
|
||||
return URI.create("http://docs.amazonwebservices.com/AmazonS3/latest/API");
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Set<String> getLinkedServices() {
|
||||
return ImmutableSet.of(getId(), "aws-ec2");
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
org.jclouds.aws.s3.AWSS3ProviderMetadata
|
|
@ -0,0 +1,36 @@
|
|||
/**
|
||||
*
|
||||
* Copyright (C) 2011 Cloud Conscious, LLC. <info@cloudconscious.com>
|
||||
*
|
||||
* ====================================================================
|
||||
* 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.aws.s3;
|
||||
|
||||
import org.jclouds.providers.BaseProviderMetadataTest;
|
||||
import org.jclouds.providers.ProviderMetadata;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
/**
|
||||
* The AWSS3ProviderTest tests the org.jclouds.providers.AWSS3Provider class.
|
||||
*
|
||||
* @author Adrian Cole
|
||||
*/
|
||||
@Test(groups = "unit", testName = "AWSS3ProviderTest")
|
||||
public class AWSS3ProviderTest extends BaseProviderMetadataTest {
|
||||
|
||||
public AWSS3ProviderTest() {
|
||||
super(new AWSS3ProviderMetadata(), ProviderMetadata.BLOBSTORE_TYPE);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,97 @@
|
|||
/**
|
||||
*
|
||||
* Copyright (C) 2011 Cloud Conscious, LLC. <info@cloudconscious.com>
|
||||
*
|
||||
* ====================================================================
|
||||
* 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.vcloud.terremark;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
import org.jclouds.providers.BaseProviderMetadata;
|
||||
import org.jclouds.providers.ProviderMetadata;
|
||||
|
||||
/**
|
||||
* Implementation of {@link org.jclouds.types.ProviderMetadata} for Terremark's Enterprise Cloud.
|
||||
*
|
||||
* @author Adrian Cole
|
||||
*/
|
||||
public class TerremarkECloudProviderMetadata extends BaseProviderMetadata {
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getId() {
|
||||
return "trmk-ecloud";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getType() {
|
||||
return ProviderMetadata.COMPUTE_TYPE;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Terremark Enterprise Cloud";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getIdentityName() {
|
||||
return "email";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getCredentialName() {
|
||||
return "password";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public URI getHomepage() {
|
||||
return URI.create("http://www.terremark.com/services/cloudcomputing/theenterprisecloud.aspx");
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public URI getConsole() {
|
||||
return URI.create("https://icenter.digitalops.net");
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public URI getApiDocumentation() {
|
||||
return URI.create("http://support.theenterprisecloud.com/kb/default.asp?id=533&Lang=1&SID=");
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
org.jclouds.vcloud.terremark.TerremarkECloudProviderMetadata
|
|
@ -18,32 +18,19 @@
|
|||
*/
|
||||
package org.jclouds.vcloud.terremark;
|
||||
|
||||
import org.jclouds.compute.util.ComputeServiceUtils;
|
||||
import org.jclouds.rest.Providers;
|
||||
import org.jclouds.providers.BaseProviderMetadataTest;
|
||||
import org.jclouds.providers.ProviderMetadata;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import com.google.common.collect.Iterables;
|
||||
|
||||
/**
|
||||
* The TerremarkECloudProviderTest tests the org.jclouds.providers.TerremarkECloudProvider class.
|
||||
*
|
||||
* @author Adrian Cole
|
||||
*
|
||||
*/
|
||||
@Test(groups = "unit")
|
||||
public class ProvidersInPropertiesTest {
|
||||
|
||||
@Test
|
||||
public void testSupportedProviders() {
|
||||
Iterable<String> providers = Providers.getSupportedProviders();
|
||||
assert Iterables.contains(providers, "trmk-ecloud") : providers;
|
||||
@Test(groups = "unit", testName = "TerremarkECloudProviderTest")
|
||||
public class TerremarkECloudProviderTest extends BaseProviderMetadataTest {
|
||||
|
||||
public TerremarkECloudProviderTest() {
|
||||
super(new TerremarkECloudProviderMetadata(), ProviderMetadata.COMPUTE_TYPE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSupportedComputeServiceProviders() {
|
||||
Iterable<String> providers = ComputeServiceUtils.getSupportedProviders();
|
||||
assert Iterables.contains(providers, "trmk-ecloud") : providers;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -25,7 +25,7 @@ import org.jclouds.providers.ProviderMetadata;
|
|||
|
||||
/**
|
||||
* Implementation of {@link org.jclouds.types.ProviderMetadata} for Terremark's vCloud Express.
|
||||
*
|
||||
*
|
||||
* @author Adrian Cole
|
||||
*/
|
||||
public class TerremarkVCloudExpressProviderMetadata extends BaseProviderMetadata {
|
||||
|
@ -46,6 +46,22 @@ public class TerremarkVCloudExpressProviderMetadata extends BaseProviderMetadata
|
|||
return ProviderMetadata.COMPUTE_TYPE;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getIdentityName() {
|
||||
return "email";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getCredentialName() {
|
||||
return "password";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
|
@ -70,4 +86,12 @@ public class TerremarkVCloudExpressProviderMetadata extends BaseProviderMetadata
|
|||
return URI.create("https://my.vcloudexpress.terremark.com");
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public URI getApiDocumentation() {
|
||||
return URI.create("https://community.vcloudexpress.terremark.com/en-us/product_docs/m/vcefiles/2342.aspx");
|
||||
}
|
||||
|
||||
}
|
|
@ -16,8 +16,10 @@
|
|||
* limitations under the License.
|
||||
* ====================================================================
|
||||
*/
|
||||
package org.jclouds.providers;
|
||||
package org.jclouds.vcloud.terremark;
|
||||
|
||||
import org.jclouds.providers.BaseProviderMetadataTest;
|
||||
import org.jclouds.providers.ProviderMetadata;
|
||||
import org.jclouds.vcloud.terremark.TerremarkVCloudExpressProviderMetadata;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
|
@ -27,7 +29,7 @@ import org.testng.annotations.Test;
|
|||
* @author Adrian Cole
|
||||
*/
|
||||
@Test(groups = "unit", testName = "TerremarkVCloudExpressProviderTest")
|
||||
public class TerremarkVCloudExpressProviderTest extends BaseProviderTest {
|
||||
public class TerremarkVCloudExpressProviderTest extends BaseProviderMetadataTest {
|
||||
|
||||
public TerremarkVCloudExpressProviderTest() {
|
||||
super(new TerremarkVCloudExpressProviderMetadata(), ProviderMetadata.COMPUTE_TYPE);
|
Loading…
Reference in New Issue