use of net.juniper.contrail.api.types.ServiceTemplate in project cloudstack by apache.
the class ServiceInstanceModel method locateServiceTemplate.
private ServiceTemplate locateServiceTemplate(ModelController controller) {
ServiceTemplate tmpl;
try {
ApiConnector api = controller.getApiAccessor();
tmpl = (ServiceTemplate) api.findById(ServiceTemplate.class, _templateId);
} catch (IOException ex) {
s_logger.warn("service-template read", ex);
throw new CloudRuntimeException("Unable to create service-template object", ex);
}
if (tmpl == null) {
tmpl = new ServiceTemplate();
tmpl.setName(_templateName);
tmpl.setUuid(_templateId);
ServiceTemplateType props = new ServiceTemplateType("in-network", null, _templateUrl, false, null);
tmpl.setProperties(props);
try {
ApiConnector api = controller.getApiAccessor();
api.create(tmpl);
} catch (IOException ex) {
throw new CloudRuntimeException("Unable to create service-template object", ex);
}
}
return tmpl;
}
use of net.juniper.contrail.api.types.ServiceTemplate in project cloudstack by apache.
the class ServiceInstanceModel method build.
/**
* Recreate the model object from the Contrail API which is main for this type of object.
* @param siObj
*/
public void build(ModelController controller, ServiceInstance siObj) {
ApiConnector api = controller.getApiAccessor();
_serviceInstance = siObj;
_fqName = StringUtils.join(siObj.getQualifiedName(), ':');
ServiceInstanceType props = siObj.getProperties();
// TODO: read management network names and cache network objects.
ObjectReference ref = siObj.getServiceTemplate().get(0);
if (ref != null) {
try {
ServiceTemplate tmpl = (ServiceTemplate) api.findById(ServiceTemplate.class, ref.getUuid());
_templateId = tmpl.getUuid();
} catch (IOException ex) {
s_logger.warn("service-template read", ex);
}
}
}
Aggregations