index.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. export const _sumNumMachines = (machines, resourceType) => {
  2. const ret = []
  3. machines.forEach(item => {
  4. if (resourceType === 'guest') {
  5. const guestItem = {
  6. config: {
  7. vm: {
  8. vcpu_count: item.config.vcpu_count,
  9. vmem_size: item.config.vmem_size * 1024,
  10. nets: [{
  11. network: item.config.network,
  12. }],
  13. disk: [{
  14. index: 0,
  15. size: item.config.disk * 1024,
  16. }],
  17. },
  18. },
  19. resource_type: item.resource_type,
  20. role: item.role,
  21. }
  22. if (item.num === 1) {
  23. ret.push(guestItem)
  24. } else if (item.num > 1) {
  25. for (let i = 0; i < item.num; i++) {
  26. ret.push(guestItem)
  27. }
  28. }
  29. } else if (resourceType === 'host') {
  30. const hostItem = { ...item }
  31. delete hostItem.num
  32. if (item.num === 1) {
  33. ret.push(hostItem)
  34. } else if (item.num > 1) {
  35. item.num.forEach(() => ret.push(hostItem))
  36. }
  37. }
  38. })
  39. return ret
  40. }