org.jclouds.apis
Interface ApiMetadata

All Superinterfaces:
Serializable
All Known Subinterfaces:
RestApiMetadata
All Known Implementing Classes:
AnonymousRestApiMetadata, BaseApiMetadata, BaseRestApiMetadata

@Beta
public interface ApiMetadata
extends Serializable

The ApiMetadata interface allows jclouds to provide a plugin framework for gathering cloud api metadata.

Since:
1.5
Author:
Jeremy Whitlock , Adrian Cole

Nested Class Summary
static interface ApiMetadata.Builder
           
 
Method Summary
 com.google.common.base.Optional<String> getBuildVersion()
          Explicitly identifies the build that the server jclouds connects to is running.
 com.google.common.reflect.TypeToken<? extends Context> getContext()
           
 com.google.common.base.Optional<String> getCredentialName()
          Note: if the api doesn't need a credential, this will return absent.
 com.google.common.base.Optional<String> getDefaultCredential()
          Explicitly sets the secret, which when combined with the identity, will create an authenticated subject or session
 com.google.common.base.Optional<String> getDefaultEndpoint()
          Explicitly identifies the most top-level endpoint to a service provider.
 com.google.common.base.Optional<String> getDefaultIdentity()
          Explicitly identifies the login identity into a provider
 Set<Class<? extends com.google.inject.Module>> getDefaultModules()
          Modules that configure dependency injection for this context
 Properties getDefaultProperties()
          Configuration Properties used when creating connections to this api
 URI getDocumentation()
           
 String getEndpointName()
          The endpointName helps the user supply the correct data when prompted.
 String getId()
           
 String getIdentityName()
           
 String getName()
           
 String getVersion()
          Explicitly identifies the version of an api.
 Set<com.google.common.reflect.TypeToken<? extends View>> getViews()
           
 ApiMetadata.Builder toBuilder()
           
 

Method Detail

toBuilder

ApiMetadata.Builder toBuilder()
See Also:
ApiMetadata.Builder

getId

String getId()
Returns:
the api's unique identifier (ex. vcloud, virtualbox)

getName

String getName()
Returns:
the name (display name) of the api (ex. EC2 Base API)

getEndpointName

String getEndpointName()
The endpointName helps the user supply the correct data when prompted.

For example, on OpenStack APIs, this could be: Keystone url
For file-based apis, this could be: Path of byon.yaml

Default: "https endpoint"

Returns:
the name (display name) of an endpoint to this api (ex. Keystone url, vCloud Director URL).

getIdentityName

String getIdentityName()
Returns:
the name (display name) of an identity on this api (ex. user, email, account, apikey, tenantId:username)

getCredentialName

com.google.common.base.Optional<String> getCredentialName()
Note: if the api doesn't need a credential, this will return absent.

Returns:
the name (display name) of a credential on this api, if it is required (ex. password, secret, rsaKey)

getVersion

String getVersion()
Explicitly identifies the version of an api.


getBuildVersion

com.google.common.base.Optional<String> getBuildVersion()
Explicitly identifies the build that the server jclouds connects to is running. For example, for virtualbox, the api version may be 4.1.8 while the build version is 4.1.8r75467. Or a vcloud endpoint may be api version 1.0 while the build is 1.5.0.0.124312


getDefaultEndpoint

com.google.common.base.Optional<String> getDefaultEndpoint()
Explicitly identifies the most top-level endpoint to a service provider. This helps differentiate two providers of the same api, or a different environments providing the same api.

note

The type of endpoint is String as we permit endpoints that require variable expansion. ex.
 https://${jclouds.identity}.blob.core.windows.net
 

Returns:
the api's default endpoint, if known.

getDefaultIdentity

com.google.common.base.Optional<String> getDefaultIdentity()
Explicitly identifies the login identity into a provider

Returns:
the login identity into a provider, if known.

getDefaultCredential

com.google.common.base.Optional<String> getDefaultCredential()
Explicitly sets the secret, which when combined with the identity, will create an authenticated subject or session

Returns:
the api's default credential, if known.
See Also:
getDefaultIdentity(), getCredentialName()

getDefaultProperties

Properties getDefaultProperties()
Configuration Properties used when creating connections to this api

Returns:
properties used to create connections to this api

getDefaultModules

Set<Class<? extends com.google.inject.Module>> getDefaultModules()
Modules that configure dependency injection for this context

Returns:
modules that configure dependency injection for this context

getDocumentation

URI getDocumentation()
Returns:
the url for the API documentation related to this service

getContext

com.google.common.reflect.TypeToken<? extends Context> getContext()
Returns:
the primary context of this api, for example RestContext<EC2Client, EC2AsyncClient>

getViews

Set<com.google.common.reflect.TypeToken<? extends View>> getViews()
Returns:
types of contexts this can be transformed into, for example BlobStoreContext


Copyright © 2009-2013 jclouds. All Rights Reserved.