// network
CloudStackNetwork network = findNetwork(zone);
// now actually deploy the vms
for( int i=0; i < createInstances; i++ ) {
CloudStackUserVm resp = getApi().deployVirtualMachine(offer.getServiceOfferingId(),
request.getTemplateId(), zoneId, null, null, null, null,
null, null, null, request.getKeyName(), null, (network != null ? network.getId() : null),
null, null, request.getSize().longValue(), request.getUserData());
EC2Instance vm = new EC2Instance();
vm.setId(resp.getId().toString());
vm.setName(resp.getName());
vm.setZoneName(resp.getZoneName());
vm.setTemplateId(resp.getTemplateId().toString());
if (resp.getSecurityGroupList() != null && resp.getSecurityGroupList().size() > 0) {
// TODO, we have a list of security groups, just return the first one?
CloudStackSecurityGroup securityGroup = resp.getSecurityGroupList().get(0);
vm.setGroup(securityGroup.getName());
}
vm.setState(resp.getState());
vm.setCreated(resp.getCreated());
vm.setIpAddress(resp.getIpAddress());
vm.setAccountName(resp.getAccountName());
vm.setDomainId(resp.getDomainId());
vm.setHypervisor(resp.getHypervisor());
vm.setServiceOffering( serviceOfferingIdToInstanceType( offer.getServiceOfferingId()));
instances.addInstance(vm);
countCreated++;
}