Cisco Cisco Intercloud Fabric for Provider Developer's Guide

Page of 41
 
 
Page 12 
 
Service Loader Configuration 
You must define a provider configuration file in the META-INF/services directory. The filename is the fully qualified 
com.cloupia.feature.capiController.api.CapiPluginServicesIf. The content of this file is the package name in which 
the CapiPluginServicesIf is implemented.  
 
META-INF 
|____services 
| |____com.cloupia.feature.capiController.api.CapiPluginServicesIf 
Resource Files 
To control the timeouts of various tasks spawned in the system, create an <adapter_type>.properties file. When 
packaged in the final JAR, this file must reside in the top-level resources directory. The following example shows a 
directory structure for an adapter JAR: 
 
|____com 
|____META-INF 
| |____MANIFEST.MF 
| |____services 
| | |____com.cloupia.feature.capiController.api.CapiPluginServicesIf 
|____resources 
  |____CSP.properties 
Build Infrastructure 
Adapter developers are welcome to use any build infrastructure, such as Ant, Maven, or Gradle. The example 
provided in this release is an Ant-based adapter. Only one dependency JAR is provided by Cisco; it must be 
appropriately incorporated as a dependency library. 
Packaging the Adapter 
After building an adapter, you must package the adapter in a specific directory structure so that it can be installed 
by the Cisco ICFPP infrastructure, as follows: 
1.  Create a jars directory. 
2.  Copy the adapter and other required JAR files into the jars directory by using the following command: 
tar –czvf adapter.tar.gz jars 
APIs 
CapiPluginServicesIf 
This umbrella defines service-related interfaces. Methods are identified in the following subsections.  
listLocations 
This method returns the list of locations supported for this account. Depending on the cloud, the locations can be 
either flat or in a hierarchy. For example, a cloud provider might have a region that contains multiple zones. 
Alternatively, it might have a flat Region/Data Center with no hierarchy. Cisco ICFPP uses this API to determine 
the number of locations supported by the platform and reports the realized location information to Cisco ICFD. 
Upon receiving this information, Cisco ICFD displays it to the end-user portals, where users can select the desired 
location for deploying services. 
API 
public CapiLocationDetailsList listLocations( 
CapiTenantAccountVO tenantAccountInfo)  
throws CapiPluginServicesException;