Class BaseApiMetadata

    • Constructor Detail

      • BaseApiMetadata

        protected BaseApiMetadata​(String id,
                                  String name,
                                  Set<com.google.common.reflect.TypeToken<? extends View>> views,
                                  String endpointName,
                                  String identityName,
                                  com.google.common.base.Optional<String> credentialName,
                                  String version,
                                  com.google.common.base.Optional<String> buildVersion,
                                  com.google.common.base.Optional<String> defaultEndpoint,
                                  com.google.common.base.Optional<String> defaultIdentity,
                                  com.google.common.base.Optional<String> defaultCredential,
                                  Properties defaultProperties,
                                  URI documentation,
                                  com.google.common.reflect.TypeToken<? extends Context> context,
                                  Set<Class<? extends com.google.inject.Module>> defaultModules)
    • Method Detail

      • defaultProperties

        public static Properties defaultProperties()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • string

        protected com.google.common.base.MoreObjects.ToStringHelper string()
      • getId

        public String getId()
        Specified by:
        getId in interface ApiMetadata
        Returns:
        the api's unique identifier (ex. ec2, openstack-nova)
      • getName

        public String getName()
        Specified by:
        getName in interface ApiMetadata
        Returns:
        the name (display name) of the api (ex. EC2 Base API)
      • getViews

        public Set<com.google.common.reflect.TypeToken<? extends View>> getViews()
        Specified by:
        getViews in interface ApiMetadata
        Returns:
        types of contexts this can be transformed into, for example BlobStoreContext
      • getEndpointName

        public 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"

        Specified by:
        getEndpointName in interface ApiMetadata
        Returns:
        the name (display name) of an endpoint to this api (ex. Keystone url).
      • getIdentityName

        public String getIdentityName()
        Specified by:
        getIdentityName in interface ApiMetadata
        Returns:
        the name (display name) of an identity on this api (ex. user, email, account, apikey, tenantId:username)
      • getCredentialName

        public com.google.common.base.Optional<String> getCredentialName()
        Note: if the api doesn't need a credential, this will return absent.
        Specified by:
        getCredentialName in interface ApiMetadata
        Returns:
        the name (display name) of a credential on this api, if it is required (ex. password, secret, rsaKey)
      • getVersion

        public String getVersion()
        Explicitly identifies the version of an api.
        Specified by:
        getVersion in interface ApiMetadata
      • getBuildVersion

        public 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.
        Specified by:
        getBuildVersion in interface ApiMetadata
      • getDefaultEndpoint

        public 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
         
        Specified by:
        getDefaultEndpoint in interface ApiMetadata
        Returns:
        the api's default endpoint, if known.
      • getDefaultIdentity

        public com.google.common.base.Optional<String> getDefaultIdentity()
        Explicitly identifies the login identity into a provider
        Specified by:
        getDefaultIdentity in interface ApiMetadata
        Returns:
        the login identity into a provider, if known.
      • getDefaultProperties

        public Properties getDefaultProperties()
        Configuration Properties used when creating connections to this api
        Specified by:
        getDefaultProperties in interface ApiMetadata
        Returns:
        properties used to create connections to this api
      • getDocumentation

        public URI getDocumentation()
        Specified by:
        getDocumentation in interface ApiMetadata
        Returns:
        the url for the API documentation related to this service
      • getContext

        public com.google.common.reflect.TypeToken<? extends Context> getContext()
        Specified by:
        getContext in interface ApiMetadata
        Returns:
        the primary context of this api, for example ApiContext<EC2Api>
      • getDefaultModules

        public Set<Class<? extends com.google.inject.Module>> getDefaultModules()
        Modules that configure dependency injection for this context
        Specified by:
        getDefaultModules in interface ApiMetadata
        Returns:
        modules that configure dependency injection for this context