|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.dasein.cloud.CloudProvider
public abstract class CloudProvider
Represents a provider of cloud services. The cloud provider API prescribes a number of services which may or may not be implemented for a given cloud. In addition, the cloud provider API describes the data center structure of the underlying cloud through the concept of regions. Each provider must have at least one region, which in turn has at least one zone or data center.
This API specifies a number of services that a given cloud provider may implement, but many
cloud providers will not actually implement all of them. If a given service is not implemented,
the API call for gaining access to that services should return null. An application
should therefore test whether a service is null before trying to trigger operations
in that cloud.
When implementing a given service for a particular provider, that provider may not support
some of the operations of the service. Such methods should throw an
OperationNotSupportedException to flag the lack of support.
| Constructor Summary | |
|---|---|
CloudProvider()
Base contructor for a cloud provider. |
|
| Method Summary | |
|---|---|
void |
close()
Empties out all credentials and removes any other context information from the cloud provider implementation. |
void |
connect(ProviderContext context)
Called to initialize a cloud provider with an operational context. |
abstract AccessServices |
getAccessServices()
Provides access to the access services for managing authentication information with the provider. |
abstract AccountingServices |
getAccountingServices()
Provides access to the accounting services for interacting with billing data for the provider. |
abstract AddressServices |
getAddressServices()
Provides access to the address services for interacting with static IP addresses from this provider. |
abstract ContentDistributionServices |
getCdnServices()
Provides access to the content distribution services for interacting with CDN support from the cloud provider. |
abstract String |
getCloudName()
This value can be the same as getProviderName() if it is not a multi-cloud provider. |
ProviderContext |
getContext()
|
abstract DataCenterServices |
getDataCenterServices()
Provides access to the data center services that describe the physical structure of the underlying cloud provider. |
abstract FirewallServices |
getFirewallServices()
Provides access to the firewall services for interacting with virtual firewalls and firewall management rules for this provider. |
abstract ImageServices |
getImageServices()
Provides access to the server imaging services that describe the images/templates from which servers are launched. |
abstract KeyValueDatabaseServices |
getKeyValueDatabaseServices()
Provides access to services for managing key/value database systems. |
abstract LoadBalancerServices |
getLoadBalancerServices()
Provides access to the load balancing services that describe the load balancing for this provider. |
abstract NotificationsServices |
getNotificationsServices()
Provides access to the notifications services that describe notifications for this cloud. |
abstract String |
getProviderName()
|
abstract RelationalDatabaseServices |
getRelationalDatabaseServices()
Provides access to services for managing relational database systems. |
abstract ScalingServices |
getScalingServices()
Provides access to the auto-scaling features of the cloud. |
abstract ServerServices |
getServerServices()
Provides access to the server-oriented services from this cloud provider. |
abstract SnapshotServices |
getSnapshotServices()
Provides access to the snapshot services provided in this cloud. |
abstract StorageServices |
getStorageServices()
Provides access to the cloud storage services supported by this cloud provider. |
abstract VolumeServices |
getVolumeServices()
Provides access to the virtual block storage services offered by this cloud provider. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public CloudProvider()
| Method Detail |
|---|
public void close()
public final void connect(ProviderContext context)
context - the context for services calls using this provider instancepublic abstract AccessServices getAccessServices()
AccessServices API for this providerpublic abstract AccountingServices getAccountingServices()
AccountingServices API for this providerpublic abstract AddressServices getAddressServices()
AddressServices API for this cloud providerpublic final ProviderContext getContext()
public abstract ContentDistributionServices getCdnServices()
ContentDistributionServices API for this cloud providerpublic abstract String getCloudName()
getProviderName() if it is not a multi-cloud provider.
public abstract FirewallServices getFirewallServices()
FirewallServices APIpublic abstract DataCenterServices getDataCenterServices()
DataCenterServices APIpublic abstract ImageServices getImageServices()
ImageServices APIpublic abstract KeyValueDatabaseServices getKeyValueDatabaseServices()
KeyValueDatabaseServices APIpublic abstract LoadBalancerServices getLoadBalancerServices()
LoadBalancerServices APIpublic abstract NotificationsServices getNotificationsServices()
NotificationsServices APIpublic abstract String getProviderName()
public abstract RelationalDatabaseServices getRelationalDatabaseServices()
RelationalDatabaseServices APIpublic abstract ScalingServices getScalingServices()
ScalingServices APIpublic abstract ServerServices getServerServices()
ServerServices APIpublic abstract SnapshotServices getSnapshotServices()
SnapshotServices APIpublic abstract StorageServices getStorageServices()
StorageServices APIpublic abstract VolumeServices getVolumeServices()
VolumeServices API
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Copyright © 2009 enStratus Networks LLC – Available under the terms of the Artistic License 2.0.