A Cloud Service Connector implementer needs to implement certain SPIs to hook into CPBM to participate in the customer onboarding and service provisioning aspects, in addition to providing information to CPBM to generate appropriate usage metrics and bills to the end customer. These are:
- Bootstrap: Set of interfaces required by CPBM to bootstrap and interact with the service. These interfaces allow CPBM to configure cloud service instances and get access to the implementations of the SPIs described below.
- Account Lifecycle Handler: Called by CPBM at appropriate times, this SPI allows the connector to synchronize its state with that of CPBM. For example, CPBM will call this adapter to synchronize state when a CPBM account (tenant) is created, restricted, suspended, activated, terminated, etc.
- User Lifecycle Handler: Called by CPBM at appropriate times during a user lifecycle, this SPI allows the connector to synchronize its user state with that of CPBM. For example, when user is locked, disabled etc.
- Subscription Provisioning Handler (Mandatory): Called by CPBM to provision and de-provision resources that are subscribed to (or cancelled).
- Usage Collection (Mandatory): Called by CPBM periodically to collect usage related information for billing.
- Event Collection: Called by CPBM at periodic intervals to collect salient events from the underlying service. While optional, when implemented this will allow end customers to subscribe to notifications when certain things occur either via email or SMS etc. Note: This capability will be implemented in CPBM in a future release.
- ViewResolver (Mandatory): Allows CPBM to drop the end user into the cloud service UI with the appropriate context, for example, account settings, user settings, resource management etc.
- SSO Handler (Mandatory): Allows CPBM to initiate and maintain single-sign on so that users don’t have to login again when being redirected to the cloud service UI.
- APIProxyHandler: Used if the service has an API and the API needs to be fronted by CPBM. This allows CPBM to allow business rules and other technical constraints (such as blacklisting APIs that should not be called when integrated with CPBM).