fog-vcloud-director 0.1.10 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (331) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +2 -0
  3. data/.rubocop.yml +4 -240
  4. data/.rubocop_local.yml +1 -0
  5. data/.travis.yml +6 -10
  6. data/README.md +54 -51
  7. data/docs/examples-vapp-instantiate.md +2 -2
  8. data/docs/examples-vm-reconfigure.md +122 -0
  9. data/docs/vm-to-reconfigure.xml +373 -0
  10. data/fog-vcloud-director.gemspec +6 -3
  11. data/lib/fog/vcloud_director.rb +14 -1
  12. data/lib/fog/vcloud_director/compute.rb +45 -19
  13. data/lib/fog/vcloud_director/core.rb +3 -3
  14. data/lib/fog/vcloud_director/generators/compute/compose_common.rb +16 -3
  15. data/lib/fog/vcloud_director/generators/compute/compose_vapp.rb +3 -3
  16. data/lib/fog/vcloud_director/generators/compute/create_snapshot.rb +3 -3
  17. data/lib/fog/vcloud_director/generators/compute/customization.rb +3 -3
  18. data/lib/fog/vcloud_director/generators/compute/disks.rb +3 -3
  19. data/lib/fog/vcloud_director/generators/compute/edge_gateway_service_configuration.rb +3 -3
  20. data/lib/fog/vcloud_director/generators/compute/instantiate_vapp_template_params.rb +3 -3
  21. data/lib/fog/vcloud_director/generators/compute/metadata.rb +3 -3
  22. data/lib/fog/vcloud_director/generators/compute/org_vdc_network.rb +4 -4
  23. data/lib/fog/vcloud_director/generators/compute/recompose_vapp.rb +3 -3
  24. data/lib/fog/vcloud_director/generators/compute/reconfigure_vm.rb +189 -0
  25. data/lib/fog/vcloud_director/generators/compute/vapp.rb +3 -4
  26. data/lib/fog/vcloud_director/generators/compute/vm.rb +3 -3
  27. data/lib/fog/vcloud_director/generators/compute/vm_network.rb +3 -3
  28. data/lib/fog/vcloud_director/models/compute/catalog.rb +2 -4
  29. data/lib/fog/vcloud_director/models/compute/catalog_item.rb +2 -4
  30. data/lib/fog/vcloud_director/models/compute/catalog_items.rb +3 -4
  31. data/lib/fog/vcloud_director/models/compute/catalogs.rb +4 -5
  32. data/lib/fog/vcloud_director/models/compute/custom_field.rb +2 -4
  33. data/lib/fog/vcloud_director/models/compute/custom_fields.rb +3 -3
  34. data/lib/fog/vcloud_director/models/compute/disk.rb +5 -6
  35. data/lib/fog/vcloud_director/models/compute/disks.rb +4 -5
  36. data/lib/fog/vcloud_director/models/compute/media.rb +2 -4
  37. data/lib/fog/vcloud_director/models/compute/medias.rb +3 -4
  38. data/lib/fog/vcloud_director/models/compute/network.rb +2 -4
  39. data/lib/fog/vcloud_director/models/compute/networks.rb +3 -4
  40. data/lib/fog/vcloud_director/models/compute/organization.rb +2 -4
  41. data/lib/fog/vcloud_director/models/compute/organizations.rb +3 -4
  42. data/lib/fog/vcloud_director/models/compute/tag.rb +3 -4
  43. data/lib/fog/vcloud_director/models/compute/tags.rb +3 -4
  44. data/lib/fog/vcloud_director/models/compute/task.rb +2 -4
  45. data/lib/fog/vcloud_director/models/compute/tasks.rb +3 -4
  46. data/lib/fog/vcloud_director/models/compute/template_vm.rb +2 -3
  47. data/lib/fog/vcloud_director/models/compute/template_vms.rb +5 -6
  48. data/lib/fog/vcloud_director/models/compute/vapp.rb +36 -18
  49. data/lib/fog/vcloud_director/models/compute/vapp_template.rb +2 -4
  50. data/lib/fog/vcloud_director/models/compute/vapp_templates.rb +4 -5
  51. data/lib/fog/vcloud_director/models/compute/vapps.rb +3 -4
  52. data/lib/fog/vcloud_director/models/compute/vdc.rb +2 -4
  53. data/lib/fog/vcloud_director/models/compute/vdcs.rb +3 -4
  54. data/lib/fog/vcloud_director/models/compute/vm.rb +19 -39
  55. data/lib/fog/vcloud_director/models/compute/vm_customization.rb +2 -4
  56. data/lib/fog/vcloud_director/models/compute/vm_customizations.rb +3 -4
  57. data/lib/fog/vcloud_director/models/compute/vm_network.rb +2 -4
  58. data/lib/fog/vcloud_director/models/compute/vm_networks.rb +3 -4
  59. data/lib/fog/vcloud_director/models/compute/vms.rb +4 -5
  60. data/lib/fog/vcloud_director/parsers/compute/disks.rb +3 -3
  61. data/lib/fog/vcloud_director/parsers/compute/metadata.rb +3 -3
  62. data/lib/fog/vcloud_director/parsers/compute/network.rb +3 -3
  63. data/lib/fog/vcloud_director/parsers/compute/vapp.rb +93 -0
  64. data/lib/fog/vcloud_director/parsers/compute/vm.rb +6 -65
  65. data/lib/fog/vcloud_director/parsers/compute/vm_customization.rb +3 -3
  66. data/lib/fog/vcloud_director/parsers/compute/vm_network.rb +3 -3
  67. data/lib/fog/vcloud_director/parsers/compute/vm_parser_helper.rb +55 -3
  68. data/lib/fog/vcloud_director/parsers/compute/vms.rb +5 -26
  69. data/lib/fog/vcloud_director/parsers/compute/vms_by_metadata.rb +3 -3
  70. data/lib/fog/vcloud_director/query.rb +0 -1
  71. data/lib/fog/vcloud_director/requests/compute/delete_catalog_item.rb +2 -2
  72. data/lib/fog/vcloud_director/requests/compute/delete_catalog_item_metadata_item_metadata.rb +3 -3
  73. data/lib/fog/vcloud_director/requests/compute/delete_disk.rb +3 -3
  74. data/lib/fog/vcloud_director/requests/compute/delete_disk_metadata_item_metadata.rb +3 -3
  75. data/lib/fog/vcloud_director/requests/compute/delete_logout.rb +2 -2
  76. data/lib/fog/vcloud_director/requests/compute/delete_media.rb +4 -4
  77. data/lib/fog/vcloud_director/requests/compute/delete_media_metadata_item_metadata.rb +3 -3
  78. data/lib/fog/vcloud_director/requests/compute/delete_network.rb +4 -4
  79. data/lib/fog/vcloud_director/requests/compute/delete_shadow_vm.rb +2 -2
  80. data/lib/fog/vcloud_director/requests/compute/delete_vapp.rb +5 -5
  81. data/lib/fog/vcloud_director/requests/compute/delete_vapp_metadata_item_metadata.rb +3 -3
  82. data/lib/fog/vcloud_director/requests/compute/delete_vapp_template.rb +2 -2
  83. data/lib/fog/vcloud_director/requests/compute/delete_vapp_template_metadata_item_metadata.rb +3 -3
  84. data/lib/fog/vcloud_director/requests/compute/get_allocated_ip_addresses.rb +2 -2
  85. data/lib/fog/vcloud_director/requests/compute/get_catalog.rb +4 -4
  86. data/lib/fog/vcloud_director/requests/compute/get_catalog_item.rb +3 -3
  87. data/lib/fog/vcloud_director/requests/compute/get_catalog_item_metadata.rb +2 -2
  88. data/lib/fog/vcloud_director/requests/compute/get_catalog_item_metadata_item_metadata.rb +3 -3
  89. data/lib/fog/vcloud_director/requests/compute/get_catalog_metadata.rb +2 -2
  90. data/lib/fog/vcloud_director/requests/compute/get_catalog_metadata_item_metadata.rb +3 -3
  91. data/lib/fog/vcloud_director/requests/compute/get_catalogs_from_query.rb +3 -3
  92. data/lib/fog/vcloud_director/requests/compute/get_control_access_params_catalog.rb +2 -2
  93. data/lib/fog/vcloud_director/requests/compute/get_control_access_params_vapp.rb +2 -2
  94. data/lib/fog/vcloud_director/requests/compute/get_cpu_rasd_item.rb +3 -3
  95. data/lib/fog/vcloud_director/requests/compute/get_current_session.rb +2 -2
  96. data/lib/fog/vcloud_director/requests/compute/get_disk.rb +4 -4
  97. data/lib/fog/vcloud_director/requests/compute/get_disk_metadata.rb +2 -2
  98. data/lib/fog/vcloud_director/requests/compute/get_disk_metadata_item_metadata.rb +3 -3
  99. data/lib/fog/vcloud_director/requests/compute/get_disk_owner.rb +4 -4
  100. data/lib/fog/vcloud_director/requests/compute/get_disks_from_query.rb +3 -3
  101. data/lib/fog/vcloud_director/requests/compute/get_disks_rasd_items_list.rb +3 -3
  102. data/lib/fog/vcloud_director/requests/compute/get_edge_gateway.rb +4 -4
  103. data/lib/fog/vcloud_director/requests/compute/get_entity.rb +2 -2
  104. data/lib/fog/vcloud_director/requests/compute/get_execute_query.rb +2 -2
  105. data/lib/fog/vcloud_director/requests/compute/get_groups_from_query.rb +3 -3
  106. data/lib/fog/vcloud_director/requests/compute/get_guest_customization_system_section_vapp.rb +3 -3
  107. data/lib/fog/vcloud_director/requests/compute/get_guest_customization_system_section_vapp_template.rb +2 -2
  108. data/lib/fog/vcloud_director/requests/compute/get_href.rb +2 -2
  109. data/lib/fog/vcloud_director/requests/compute/get_lease_settings_section_vapp.rb +4 -4
  110. data/lib/fog/vcloud_director/requests/compute/get_lease_settings_section_vapp_template.rb +2 -2
  111. data/lib/fog/vcloud_director/requests/compute/get_media.rb +4 -4
  112. data/lib/fog/vcloud_director/requests/compute/get_media_drives_rasd_items_list.rb +3 -3
  113. data/lib/fog/vcloud_director/requests/compute/get_media_metadata.rb +2 -2
  114. data/lib/fog/vcloud_director/requests/compute/get_media_metadata_item_metadata.rb +3 -3
  115. data/lib/fog/vcloud_director/requests/compute/get_media_owner.rb +4 -4
  116. data/lib/fog/vcloud_director/requests/compute/get_medias_from_query.rb +3 -3
  117. data/lib/fog/vcloud_director/requests/compute/get_memory_rasd_item.rb +3 -3
  118. data/lib/fog/vcloud_director/requests/compute/get_metadata.rb +3 -3
  119. data/lib/fog/vcloud_director/requests/compute/get_network.rb +5 -5
  120. data/lib/fog/vcloud_director/requests/compute/get_network_cards_items_list.rb +3 -3
  121. data/lib/fog/vcloud_director/requests/compute/get_network_complete.rb +4 -4
  122. data/lib/fog/vcloud_director/requests/compute/get_network_config_section_vapp.rb +3 -3
  123. data/lib/fog/vcloud_director/requests/compute/get_network_config_section_vapp_template.rb +2 -2
  124. data/lib/fog/vcloud_director/requests/compute/get_network_connection_system_section_vapp.rb +3 -3
  125. data/lib/fog/vcloud_director/requests/compute/get_network_connection_system_section_vapp_template.rb +2 -2
  126. data/lib/fog/vcloud_director/requests/compute/get_network_metadata.rb +2 -2
  127. data/lib/fog/vcloud_director/requests/compute/get_network_metadata_item_metadata.rb +3 -3
  128. data/lib/fog/vcloud_director/requests/compute/get_network_section_vapp.rb +2 -2
  129. data/lib/fog/vcloud_director/requests/compute/get_network_section_vapp_template.rb +2 -2
  130. data/lib/fog/vcloud_director/requests/compute/get_operating_system_section.rb +3 -3
  131. data/lib/fog/vcloud_director/requests/compute/get_org_settings.rb +2 -2
  132. data/lib/fog/vcloud_director/requests/compute/get_org_vdc_gateways.rb +4 -4
  133. data/lib/fog/vcloud_director/requests/compute/get_organization.rb +4 -4
  134. data/lib/fog/vcloud_director/requests/compute/get_organization_metadata.rb +2 -2
  135. data/lib/fog/vcloud_director/requests/compute/get_organization_metadata_item_metadata.rb +3 -3
  136. data/lib/fog/vcloud_director/requests/compute/get_organizations.rb +2 -2
  137. data/lib/fog/vcloud_director/requests/compute/get_organizations_from_query.rb +3 -3
  138. data/lib/fog/vcloud_director/requests/compute/get_product_sections_vapp.rb +2 -2
  139. data/lib/fog/vcloud_director/requests/compute/get_product_sections_vapp_template.rb +2 -2
  140. data/lib/fog/vcloud_director/requests/compute/get_request.rb +2 -2
  141. data/lib/fog/vcloud_director/requests/compute/get_runtime_info_section_type.rb +3 -3
  142. data/lib/fog/vcloud_director/requests/compute/get_serial_ports_items_list.rb +2 -2
  143. data/lib/fog/vcloud_director/requests/compute/get_shadow_vm.rb +2 -2
  144. data/lib/fog/vcloud_director/requests/compute/get_snapshot_section.rb +3 -3
  145. data/lib/fog/vcloud_director/requests/compute/get_startup_section.rb +3 -3
  146. data/lib/fog/vcloud_director/requests/compute/get_supported_systems_info.rb +2 -2
  147. data/lib/fog/vcloud_director/requests/compute/get_supported_versions.rb +2 -2
  148. data/lib/fog/vcloud_director/requests/compute/get_task.rb +4 -4
  149. data/lib/fog/vcloud_director/requests/compute/get_task_list.rb +5 -5
  150. data/lib/fog/vcloud_director/requests/compute/get_template_vm.rb +4 -50
  151. data/lib/fog/vcloud_director/requests/compute/get_template_vms.rb +3 -16
  152. data/lib/fog/vcloud_director/requests/compute/get_thumbnail.rb +2 -2
  153. data/lib/fog/vcloud_director/requests/compute/get_users_from_query.rb +3 -3
  154. data/lib/fog/vcloud_director/requests/compute/get_vapp.rb +9 -8
  155. data/lib/fog/vcloud_director/requests/compute/get_vapp_metadata.rb +4 -4
  156. data/lib/fog/vcloud_director/requests/compute/get_vapp_metadata_item_metadata.rb +3 -3
  157. data/lib/fog/vcloud_director/requests/compute/get_vapp_ovf_descriptor.rb +2 -2
  158. data/lib/fog/vcloud_director/requests/compute/get_vapp_owner.rb +4 -4
  159. data/lib/fog/vcloud_director/requests/compute/get_vapp_template.rb +2 -2
  160. data/lib/fog/vcloud_director/requests/compute/get_vapp_template_customization_system_section.rb +2 -2
  161. data/lib/fog/vcloud_director/requests/compute/get_vapp_template_metadata.rb +2 -2
  162. data/lib/fog/vcloud_director/requests/compute/get_vapp_template_metadata_item_metadata.rb +3 -3
  163. data/lib/fog/vcloud_director/requests/compute/get_vapp_template_ovf_descriptor.rb +2 -2
  164. data/lib/fog/vcloud_director/requests/compute/get_vapp_template_owner.rb +2 -2
  165. data/lib/fog/vcloud_director/requests/compute/get_vapp_templates_from_query.rb +3 -3
  166. data/lib/fog/vcloud_director/requests/compute/get_vapps_in_lease_from_query.rb +3 -3
  167. data/lib/fog/vcloud_director/requests/compute/get_vcloud.rb +2 -2
  168. data/lib/fog/vcloud_director/requests/compute/get_vdc.rb +4 -4
  169. data/lib/fog/vcloud_director/requests/compute/get_vdc_metadata.rb +2 -2
  170. data/lib/fog/vcloud_director/requests/compute/get_vdc_metadata_item_metadata.rb +3 -3
  171. data/lib/fog/vcloud_director/requests/compute/get_vdc_storage_class.rb +4 -4
  172. data/lib/fog/vcloud_director/requests/compute/get_vdc_storage_class_metadata.rb +2 -2
  173. data/lib/fog/vcloud_director/requests/compute/get_vdc_storage_class_metadata_item_metadata.rb +3 -3
  174. data/lib/fog/vcloud_director/requests/compute/get_vdcs_from_query.rb +3 -3
  175. data/lib/fog/vcloud_director/requests/compute/get_virtual_hardware_section.rb +2 -2
  176. data/lib/fog/vcloud_director/requests/compute/get_vm.rb +3 -49
  177. data/lib/fog/vcloud_director/requests/compute/get_vm_capabilities.rb +3 -3
  178. data/lib/fog/vcloud_director/requests/compute/get_vm_compliance_results.rb +2 -2
  179. data/lib/fog/vcloud_director/requests/compute/get_vm_customization.rb +3 -3
  180. data/lib/fog/vcloud_director/requests/compute/get_vm_disks.rb +3 -3
  181. data/lib/fog/vcloud_director/requests/compute/get_vm_network.rb +3 -3
  182. data/lib/fog/vcloud_director/requests/compute/get_vm_pending_question.rb +2 -2
  183. data/lib/fog/vcloud_director/requests/compute/get_vms_by_metadata.rb +3 -3
  184. data/lib/fog/vcloud_director/requests/compute/get_vms_disk_attached_to.rb +3 -3
  185. data/lib/fog/vcloud_director/requests/compute/get_vms_in_lease_from_query.rb +3 -3
  186. data/lib/fog/vcloud_director/requests/compute/instantiate_vapp_template.rb +6 -6
  187. data/lib/fog/vcloud_director/requests/compute/post_acquire_mks_ticket.rb +3 -3
  188. data/lib/fog/vcloud_director/requests/compute/post_acquire_ticket.rb +3 -3
  189. data/lib/fog/vcloud_director/requests/compute/post_answer_vm_pending_question.rb +2 -2
  190. data/lib/fog/vcloud_director/requests/compute/post_attach_disk.rb +2 -2
  191. data/lib/fog/vcloud_director/requests/compute/post_cancel_task.rb +3 -3
  192. data/lib/fog/vcloud_director/requests/compute/post_capture_vapp.rb +2 -2
  193. data/lib/fog/vcloud_director/requests/compute/post_check_vm_compliance.rb +2 -2
  194. data/lib/fog/vcloud_director/requests/compute/post_clone_media.rb +4 -4
  195. data/lib/fog/vcloud_director/requests/compute/post_clone_vapp.rb +2 -2
  196. data/lib/fog/vcloud_director/requests/compute/post_clone_vapp_template.rb +2 -2
  197. data/lib/fog/vcloud_director/requests/compute/post_compose_vapp.rb +3 -3
  198. data/lib/fog/vcloud_director/requests/compute/post_configure_edge_gateway_services.rb +4 -4
  199. data/lib/fog/vcloud_director/requests/compute/post_consolidate_vm_vapp.rb +2 -2
  200. data/lib/fog/vcloud_director/requests/compute/post_consolidate_vm_vapp_template.rb +2 -2
  201. data/lib/fog/vcloud_director/requests/compute/post_create_catalog_item.rb +5 -5
  202. data/lib/fog/vcloud_director/requests/compute/post_create_org_vdc_network.rb +4 -4
  203. data/lib/fog/vcloud_director/requests/compute/post_create_snapshot.rb +3 -3
  204. data/lib/fog/vcloud_director/requests/compute/post_deploy_vapp.rb +2 -2
  205. data/lib/fog/vcloud_director/requests/compute/post_detach_disk.rb +2 -2
  206. data/lib/fog/vcloud_director/requests/compute/post_disable_nested_hv.rb +2 -2
  207. data/lib/fog/vcloud_director/requests/compute/post_disable_vapp_template_download.rb +2 -2
  208. data/lib/fog/vcloud_director/requests/compute/post_discard_vapp_state.rb +2 -2
  209. data/lib/fog/vcloud_director/requests/compute/post_eject_cd_rom.rb +2 -2
  210. data/lib/fog/vcloud_director/requests/compute/post_enable_nested_hv.rb +2 -2
  211. data/lib/fog/vcloud_director/requests/compute/post_enable_vapp_template_download.rb +2 -2
  212. data/lib/fog/vcloud_director/requests/compute/post_enter_maintenance_mode.rb +2 -2
  213. data/lib/fog/vcloud_director/requests/compute/post_exit_maintenance_mode.rb +2 -2
  214. data/lib/fog/vcloud_director/requests/compute/post_insert_cd_rom.rb +2 -2
  215. data/lib/fog/vcloud_director/requests/compute/post_install_vmware_tools.rb +2 -2
  216. data/lib/fog/vcloud_director/requests/compute/post_instantiate_vapp_template.rb +6 -6
  217. data/lib/fog/vcloud_director/requests/compute/post_login_session.rb +2 -2
  218. data/lib/fog/vcloud_director/requests/compute/post_power_off_vapp.rb +3 -3
  219. data/lib/fog/vcloud_director/requests/compute/post_power_on_vapp.rb +6 -6
  220. data/lib/fog/vcloud_director/requests/compute/post_reboot_vapp.rb +3 -3
  221. data/lib/fog/vcloud_director/requests/compute/post_recompose_vapp.rb +3 -3
  222. data/lib/fog/vcloud_director/requests/compute/post_reconfigure_vm.rb +6 -86
  223. data/lib/fog/vcloud_director/requests/compute/post_remove_all_snapshots.rb +2 -2
  224. data/lib/fog/vcloud_director/requests/compute/post_reset_vapp.rb +3 -3
  225. data/lib/fog/vcloud_director/requests/compute/post_revert_snapshot.rb +2 -2
  226. data/lib/fog/vcloud_director/requests/compute/post_shutdown_vapp.rb +3 -3
  227. data/lib/fog/vcloud_director/requests/compute/post_suspend_vapp.rb +3 -3
  228. data/lib/fog/vcloud_director/requests/compute/post_undeploy_vapp.rb +3 -3
  229. data/lib/fog/vcloud_director/requests/compute/post_update_catalog_item_metadata.rb +2 -2
  230. data/lib/fog/vcloud_director/requests/compute/post_update_disk_metadata.rb +2 -2
  231. data/lib/fog/vcloud_director/requests/compute/post_update_media_metadata.rb +2 -2
  232. data/lib/fog/vcloud_director/requests/compute/post_update_vapp_metadata.rb +4 -4
  233. data/lib/fog/vcloud_director/requests/compute/post_update_vapp_template_metadata.rb +2 -2
  234. data/lib/fog/vcloud_director/requests/compute/post_upgrade_hw_version.rb +2 -2
  235. data/lib/fog/vcloud_director/requests/compute/post_upload_disk.rb +4 -4
  236. data/lib/fog/vcloud_director/requests/compute/post_upload_media.rb +7 -7
  237. data/lib/fog/vcloud_director/requests/compute/post_upload_vapp_template.rb +2 -2
  238. data/lib/fog/vcloud_director/requests/compute/put_catalog_item_metadata_item_metadata.rb +3 -3
  239. data/lib/fog/vcloud_director/requests/compute/put_cpu.rb +4 -4
  240. data/lib/fog/vcloud_director/requests/compute/put_disk_metadata_item_metadata.rb +3 -3
  241. data/lib/fog/vcloud_director/requests/compute/put_disks.rb +3 -3
  242. data/lib/fog/vcloud_director/requests/compute/put_guest_customization_section_vapp.rb +2 -2
  243. data/lib/fog/vcloud_director/requests/compute/put_media_metadata_item_metadata.rb +3 -3
  244. data/lib/fog/vcloud_director/requests/compute/put_memory.rb +4 -4
  245. data/lib/fog/vcloud_director/requests/compute/put_metadata_value.rb +4 -4
  246. data/lib/fog/vcloud_director/requests/compute/put_network.rb +4 -4
  247. data/lib/fog/vcloud_director/requests/compute/put_network_connection_system_section_vapp.rb +4 -4
  248. data/lib/fog/vcloud_director/requests/compute/put_product_sections.rb +2 -2
  249. data/lib/fog/vcloud_director/requests/compute/put_vapp_metadata_item_metadata.rb +4 -4
  250. data/lib/fog/vcloud_director/requests/compute/put_vapp_name_and_description.rb +3 -3
  251. data/lib/fog/vcloud_director/requests/compute/put_vapp_template_metadata_item_metadata.rb +3 -3
  252. data/lib/fog/vcloud_director/requests/compute/put_vm.rb +5 -5
  253. data/lib/fog/vcloud_director/requests/compute/put_vm_capabilities.rb +2 -2
  254. data/lib/fog/vcloud_director/version.rb +1 -1
  255. data/spec/common_assertions.rb +42 -0
  256. data/spec/fixtures/empty_vm.xml +244 -0
  257. data/spec/fixtures/vm.xml +419 -0
  258. data/spec/secrets.yaml.templ +3 -0
  259. data/spec/spec_helper.rb +6 -6
  260. data/spec/vcloud_director/generators/compute/compose_common_spec.rb +3 -8
  261. data/spec/vcloud_director/generators/compute/compose_vapp_spec.rb +67 -0
  262. data/spec/vcloud_director/generators/compute/create_snapshot_spec.rb +4 -0
  263. data/spec/vcloud_director/generators/compute/customization_spec.rb +4 -0
  264. data/spec/vcloud_director/generators/compute/disks_spec.rb +4 -0
  265. data/spec/vcloud_director/generators/compute/edge_gateway_service_configuration_spec.rb +4 -0
  266. data/spec/vcloud_director/generators/compute/instantiate_vapp_template_params_spec.rb +7 -10
  267. data/spec/vcloud_director/generators/compute/metadata_spec.rb +4 -0
  268. data/spec/vcloud_director/generators/compute/org_vdc_network_spec.rb +4 -0
  269. data/spec/vcloud_director/generators/compute/recompose_vapp_spec.rb +4 -0
  270. data/spec/vcloud_director/generators/compute/reconfigure_vm_spec.rb +390 -0
  271. data/spec/vcloud_director/generators/compute/vapp_spec.rb +4 -0
  272. data/spec/vcloud_director/generators/compute/vm_network_spec.rb +4 -0
  273. data/spec/vcloud_director/generators/compute/vm_spec.rb +4 -0
  274. data/spec/vcloud_director/models/compute/basic_spec.rb +44 -0
  275. data/spec/vcloud_director/models/compute/vapps_spec.rb +104 -0
  276. data/spec/vcloud_director/models/compute/vms_spec.rb +80 -0
  277. data/spec/vcloud_director/parsers/compute/disks_spec.rb +4 -0
  278. data/spec/vcloud_director/parsers/compute/metadata_spec.rb +4 -0
  279. data/spec/vcloud_director/parsers/compute/network_spec.rb +4 -0
  280. data/spec/vcloud_director/parsers/compute/vm_customization_spec.rb +4 -0
  281. data/spec/vcloud_director/parsers/compute/vm_network_spec.rb +4 -0
  282. data/spec/vcloud_director/parsers/compute/vm_parser_helper_spec.rb +4 -0
  283. data/spec/vcloud_director/parsers/compute/vm_spec.rb +4 -0
  284. data/spec/vcloud_director/parsers/compute/vms_by_metadata_spec.rb +4 -0
  285. data/spec/vcloud_director/parsers/compute/vms_spec.rb +4 -0
  286. data/spec/vcloud_director/requests/compute/basic_spec.rb +212 -0
  287. data/spec/vcloud_director/requests/compute/get_vapp_spec.rb +11 -0
  288. data/spec/vcloud_director/requests/compute/get_vdc_spec.rb +10 -0
  289. data/spec/vcloud_director/requests/compute/instantiate_vapp_template_spec.rb +3 -5
  290. data/spec/vcloud_director/requests/compute/post_reconfigure_vm_spec.rb +26 -0
  291. data/spec/vcr_cassettes/authentication.yml +48 -0
  292. data/spec/vcr_cassettes/get_vapp-emptyvm.yml +806 -0
  293. data/spec/vcr_cassettes/get_vapp.yml +937 -0
  294. data/spec/vcr_cassettes/get_vapps-expired.yml +918 -0
  295. data/spec/vcr_cassettes/get_vapps-novms.yml +215 -0
  296. data/spec/vcr_cassettes/get_vapps.yml +118 -0
  297. data/spec/vcr_cassettes/get_vdc.yml +118 -0
  298. data/spec/vcr_cassettes/get_vm.yml +398 -0
  299. data/spec/vcr_cassettes/post_reconfigure_vm-virtual_hardware.yml +445 -0
  300. data/spec/vcr_spec_helper.rb +34 -0
  301. data/tasks/test.rake +3 -10
  302. data/tests/vcloud_director/ensure_list_tests.rb +1 -1
  303. data/tests/vcloud_director/generators/compute/compose_vapp_tests.rb +1 -1
  304. data/tests/vcloud_director/models/compute/helper.rb +1 -1
  305. data/tests/vcloud_director/models/compute/media_tests.rb +1 -1
  306. data/tests/vcloud_director/models/compute/network_tests.rb +1 -1
  307. data/tests/vcloud_director/models/compute/tasks_tests.rb +1 -1
  308. data/tests/vcloud_director/models/compute/vapp_template_tests.rb +1 -1
  309. data/tests/vcloud_director/models/compute/vms_tests.rb +6 -6
  310. data/tests/vcloud_director/requests/compute/admin_tests.rb +1 -1
  311. data/tests/vcloud_director/requests/compute/catalog_tests.rb +2 -2
  312. data/tests/vcloud_director/requests/compute/disk_tests.rb +11 -11
  313. data/tests/vcloud_director/requests/compute/edge_gateway_tests.rb +8 -8
  314. data/tests/vcloud_director/requests/compute/groups_tests.rb +1 -1
  315. data/tests/vcloud_director/requests/compute/media_tests.rb +11 -11
  316. data/tests/vcloud_director/requests/compute/network_tests.rb +6 -6
  317. data/tests/vcloud_director/requests/compute/organization_tests.rb +2 -2
  318. data/tests/vcloud_director/requests/compute/ovf_descriptor_tests.rb +1 -1
  319. data/tests/vcloud_director/requests/compute/query_tests.rb +1 -1
  320. data/tests/vcloud_director/requests/compute/session_tests.rb +1 -1
  321. data/tests/vcloud_director/requests/compute/supported_systems_tests.rb +1 -1
  322. data/tests/vcloud_director/requests/compute/task_tests.rb +4 -4
  323. data/tests/vcloud_director/requests/compute/users_tests.rb +1 -1
  324. data/tests/vcloud_director/requests/compute/vapp_tests.rb +4 -4
  325. data/tests/vcloud_director/requests/compute/vdc_storage_profile_tests.rb +2 -2
  326. data/tests/vcloud_director/requests/compute/vdc_tests.rb +2 -2
  327. data/tests/vcloud_director/requests/compute/versions_tests.rb +1 -1
  328. data/tests/vcloud_director/requests/compute/vm_tests.rb +4 -4
  329. metadata +140 -13
  330. data/lib/fog/vcloud_director/requests/compute/get_vms.rb +0 -41
  331. data/spec/vcloud_director/spec_helper.rb +0 -13
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class VcloudDirector
2
+ module VcloudDirector
3
+ class Compute
4
4
  class Real
5
5
  # Install VMware Tools on a running VM.
6
6
  #
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class VcloudDirector
2
+ module VcloudDirector
3
+ class Compute
4
4
  class Real
5
5
  # Create a vApp from a vApp template.
6
6
  #
@@ -45,7 +45,7 @@ module Fog
45
45
  # @return [Excon::Response]
46
46
  # * body<~Hash>:
47
47
  #
48
- # @raise Fog::Compute::VcloudDirector::DuplicateName
48
+ # @raise Fog::VcloudDirector::Compute::DuplicateName
49
49
  #
50
50
  # @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/POST-InstantiateVAppTemplate.html
51
51
  # @since vCloud API version 0.9
@@ -120,9 +120,9 @@ module Fog
120
120
  :parser => Fog::ToHashDocument.new,
121
121
  :path => "vdc/#{id}/action/instantiateVAppTemplate"
122
122
  )
123
- rescue Fog::Compute::VcloudDirector::BadRequest => e
123
+ rescue Fog::VcloudDirector::Compute::BadRequest => e
124
124
  if e.minor_error_code == 'DUPLICATE_NAME'
125
- raise Fog::Compute::VcloudDirector::DuplicateName.new(e.message)
125
+ raise Fog::VcloudDirector::Compute::DuplicateName.new(e.message)
126
126
  end
127
127
  raise
128
128
  end
@@ -133,7 +133,7 @@ module Fog
133
133
 
134
134
  def post_instantiate_vapp_template(vdc_id, vapp_template_id, name, options={})
135
135
  unless data[:vdcs][vdc_id]
136
- raise Fog::Compute::VcloudDirector::Forbidden.new(
136
+ raise Fog::VcloudDirector::Compute::Forbidden.new(
137
137
  "No access to entity \"(com.vmware.vcloud.entity.vdc:#{vdc_id})\"."
138
138
  )
139
139
  end
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class VcloudDirector
2
+ module VcloudDirector
3
+ class Compute
4
4
  class Real
5
5
  # Log in and create a Session object.
6
6
  #
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class VcloudDirector
2
+ module VcloudDirector
3
+ class Compute
4
4
  class Real
5
5
  extend Fog::Deprecation
6
6
  deprecate :post_vm_poweroff, :post_power_off_vapp
@@ -18,7 +18,7 @@ module Fog
18
18
  # @return [Excon::Response]
19
19
  # * body<~Hash>:
20
20
  #
21
- # @raise [Fog::Compute::VcloudDirector::BadRequest]
21
+ # @raise [Fog::VcloudDirector::Compute::BadRequest]
22
22
  #
23
23
  # @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/POST-PowerOffVApp.html
24
24
  # @since vCloud API version 0.9
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class VcloudDirector
2
+ module VcloudDirector
3
+ class Compute
4
4
  class Real
5
5
  extend Fog::Deprecation
6
6
  deprecate :post_vm_poweron, :post_power_on_vapp
@@ -18,7 +18,7 @@ module Fog
18
18
  # @return [Excon::Response]
19
19
  # * body<~Hash>:
20
20
  #
21
- # @raise [Fog::Compute::VcloudDirector::BadRequest]
21
+ # @raise [Fog::VcloudDirector::Compute::BadRequest]
22
22
  #
23
23
  # @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/POST-PowerOnVApp.html
24
24
  # @since vCloud API version 0.9
@@ -33,8 +33,8 @@ module Fog
33
33
  end
34
34
  class Mock
35
35
  def post_power_on_vapp(id)
36
- unless vapp = data[:vapps][id]
37
- raise Fog::Compute::VcloudDirector::Forbidden.new(
36
+ unless data[:vapps][id]
37
+ raise Fog::VcloudDirector::Compute::Forbidden.new(
38
38
  'This operation is denied.'
39
39
  )
40
40
  end
@@ -65,7 +65,7 @@ module Fog
65
65
  :body => body
66
66
  )
67
67
  end
68
- end
68
+ end
69
69
  end
70
70
  end
71
71
  end
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class VcloudDirector
2
+ module VcloudDirector
3
+ class Compute
4
4
  class Real
5
5
  # Reboot a vApp or VM.
6
6
  #
@@ -15,7 +15,7 @@ module Fog
15
15
  # @return [Excon::Response]
16
16
  # * body<~Hash>:
17
17
  #
18
- # @raise [Fog::Compute::VcloudDirector::BadRequest]
18
+ # @raise [Fog::VcloudDirector::Compute::BadRequest]
19
19
  #
20
20
  # @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/POST-RebootVApp.html
21
21
  # @since vCloud API version 0.9
@@ -1,10 +1,10 @@
1
1
  module Fog
2
- module Compute
3
- class VcloudDirector
2
+ module VcloudDirector
3
+ class Compute
4
4
  class Real
5
5
  require 'fog/vcloud_director/generators/compute/recompose_vapp'
6
6
  def post_recompose_vapp(id, options={})
7
- body = Fog::Generators::Compute::VcloudDirector::RecomposeVapp.new(options).generate_xml
7
+ body = Fog::VcloudDirector::Generators::Compute::RecomposeVapp.new(options).generate_xml
8
8
 
9
9
  request(
10
10
  :body => body,
@@ -1,8 +1,9 @@
1
+ require 'fog/vcloud_director/generators/compute/reconfigure_vm'
2
+
1
3
  module Fog
2
- module Compute
3
- class VcloudDirector
4
+ module VcloudDirector
5
+ class Compute
4
6
  class Real
5
-
6
7
  # Updates VM configuration.
7
8
  #
8
9
  # This operation is asynchronous and returns a task that you can
@@ -13,8 +14,6 @@ module Fog
13
14
  #
14
15
  # @option options [String] :name Change the VM's name [required].
15
16
  # @option options [String] :description VM description
16
- # @option options [Integer] :cpu Number of CPUs
17
- # @option options [Integer] :memory Memory in MB
18
17
  #
19
18
  # @return [Excon::Response]
20
19
  # * body<~Hash>:
@@ -23,23 +22,9 @@ module Fog
23
22
  #
24
23
  # @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/POST-ReconfigureVm.html
25
24
  # @since vCloud API version 5.1
26
- def post_reconfigure_vm(id, options={})
27
-
28
- body = Nokogiri::XML::Builder.new do |xml|
29
- attrs = {
30
- :xmlns => 'http://www.vmware.com/vcloud/v1.5',
31
- 'xmlns:ovf' => 'http://schemas.dmtf.org/ovf/envelope/1',
32
- 'xmlns:rasd' => 'http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData',
33
- :name => options[:name]
34
- }
35
- xml.Vm(attrs) do
36
- xml.Description options[:description] if options[:description]
37
- virtual_hardware_section(xml, options)
38
- end
39
- end.to_xml
40
-
25
+ def post_reconfigure_vm(id, current, options)
41
26
  request(
42
- :body => body,
27
+ :body => Fog::VcloudDirector::Generators::Compute::ReconfigureVm.generate_xml(current, options),
43
28
  :expects => 202,
44
29
  :headers => {'Content-Type' => 'application/vnd.vmware.vcloud.vm+xml'},
45
30
  :method => 'POST',
@@ -47,71 +32,6 @@ module Fog
47
32
  :path => "vApp/#{id}/action/reconfigureVm"
48
33
  )
49
34
  end
50
-
51
- private
52
-
53
- def virtual_hardware_section(xml, options)
54
- return unless options[:cpu] or options[:memory]
55
- xml['ovf'].VirtualHardwareSection do
56
- xml['ovf'].Info 'Virtual Hardware Requirements'
57
- cpu_section(xml, options[:cpu]) if options[:cpu]
58
- memory_section(xml, options[:memory]) if options[:memory]
59
- end
60
- end
61
-
62
- def cpu_section(xml, cpu)
63
- xml['ovf'].Item do
64
- xml['rasd'].AllocationUnits 'hertz * 10 ^ 6'
65
- xml['rasd'].InstanceID 5
66
- xml['rasd'].ResourceType 3
67
- xml['rasd'].VirtualQuantity cpu.to_i
68
- end
69
- end
70
-
71
- def memory_section(xml, memory)
72
- xml['ovf'].Item do
73
- xml['rasd'].AllocationUnits 'byte * 2^20'
74
- xml['rasd'].InstanceID 6
75
- xml['rasd'].ResourceType 4
76
- xml['rasd'].VirtualQuantity memory.to_i
77
- end
78
- end
79
-
80
- end
81
-
82
- class Mock
83
- def post_reconfigure_vm(id, options={})
84
- unless vm = data[:vms][id]
85
- raise Fog::Compute::VcloudDirector::Forbidden.new(
86
- 'This operation is denied.'
87
- )
88
- end
89
-
90
- owner = {
91
- :href => make_href("vApp/#{id}"),
92
- :type => 'application/vnd.vmware.vcloud.vApp+xml'
93
- }
94
- task_id = enqueue_task(
95
- "Updating Virtual Machine #{data[:vms][id][:name]}(#{id})", 'vappUpdateVm', owner,
96
- :on_success => lambda do
97
- data[:vms][id][:name] = options[:name]
98
- data[:vms][id][:description] = options[:description] if options[:description]
99
- data[:vms][id][:cpu_count] = options[:cpu] if options[:cpu]
100
- data[:vms][id][:memory_in_mb] = options[:memory] if options[:memory]
101
- end
102
- )
103
- body = {
104
- :xmlns => xmlns,
105
- :xmlns_xsi => xmlns_xsi,
106
- :xsi_schemaLocation => xsi_schema_location,
107
- }.merge(task_body(task_id))
108
-
109
- Excon::Response.new(
110
- :status => 202,
111
- :headers => {'Content-Type' => "#{body[:type]};version=#{api_version}"},
112
- :body => body
113
- )
114
- end
115
35
  end
116
36
  end
117
37
  end
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class VcloudDirector
2
+ module VcloudDirector
3
+ class Compute
4
4
  class Real
5
5
  # Removes all user created snapshots for a vApp or virtual machine.
6
6
  #
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class VcloudDirector
2
+ module VcloudDirector
3
+ class Compute
4
4
  class Real
5
5
  # Reset a vApp or VM.
6
6
  #
@@ -15,7 +15,7 @@ module Fog
15
15
  # @return [Excon::Response]
16
16
  # * body<~Hash>:
17
17
  #
18
- # @raise [Fog::Compute::VcloudDirector::BadRequest]
18
+ # @raise [Fog::VcloudDirector::Compute::BadRequest]
19
19
  #
20
20
  # @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/POST-ResetVApp.html
21
21
  # @since vCloud API version 0.9
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class VcloudDirector
2
+ module VcloudDirector
3
+ class Compute
4
4
  class Real
5
5
  # Reverts a vApp or virtual machine to the current snapshot, if any.
6
6
  #
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class VcloudDirector
2
+ module VcloudDirector
3
+ class Compute
4
4
  class Real
5
5
  # Shut down a vApp or VM.
6
6
  #
@@ -15,7 +15,7 @@ module Fog
15
15
  # @return [Excon::Response]
16
16
  # * body<~Hash>:
17
17
  #
18
- # @raise [Fog::Compute::VcloudDirector::BadRequest]
18
+ # @raise [Fog::VcloudDirector::Compute::BadRequest]
19
19
  #
20
20
  # @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/POST-ShutdownVApp.html
21
21
  # @since vCloud API version 0.9
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class VcloudDirector
2
+ module VcloudDirector
3
+ class Compute
4
4
  class Real
5
5
  # Suspend a vApp or VM.
6
6
  #
@@ -15,7 +15,7 @@ module Fog
15
15
  # @return [Excon::Response]
16
16
  # * body<~Hash>:
17
17
  #
18
- # @raise [Fog::Compute::VcloudDirector::BadRequest]
18
+ # @raise [Fog::VcloudDirector::Compute::BadRequest]
19
19
  #
20
20
  # @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/POST-SuspendVApp.html
21
21
  # @since vCloud API version 0.9
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class VcloudDirector
2
+ module VcloudDirector
3
+ class Compute
4
4
  class Real
5
5
  # Undeploy a vApp/VM.
6
6
  #
@@ -29,7 +29,7 @@ module Fog
29
29
  # @return [Excon::Response]
30
30
  # * body<~Hash>:
31
31
  #
32
- # @raise [Fog::Compute::VcloudDirector::BadRequest]
32
+ # @raise [Fog::VcloudDirector::Compute::BadRequest]
33
33
  #
34
34
  # @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/POST-UndeployVApp.html
35
35
  # @since vCloud API version 0.9
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class VcloudDirector
2
+ module VcloudDirector
3
+ class Compute
4
4
  class Real
5
5
  # Merge the metadata provided in the request with existing catalog item metadata.
6
6
  #
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class VcloudDirector
2
+ module VcloudDirector
3
+ class Compute
4
4
  class Real
5
5
  # Merge the metadata provided in the request with existing metadata.
6
6
  #
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class VcloudDirector
2
+ module VcloudDirector
3
+ class Compute
4
4
  class Real
5
5
  # Merge the metadata provided in the request with existing metadata.
6
6
  #
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class VcloudDirector
2
+ module VcloudDirector
3
+ class Compute
4
4
  class Real
5
5
  # Merge the metadata provided in the request with existing metadata.
6
6
  #
@@ -49,8 +49,8 @@ module Fog
49
49
  end
50
50
  class Mock
51
51
  def post_update_vapp_metadata(id, metadata={})
52
- unless vm = data[:vms][id]
53
- raise Fog::Compute::VcloudDirector::Forbidden.new(
52
+ unless data[:vms][id]
53
+ raise Fog::VcloudDirector::Compute::Forbidden.new(
54
54
  'This operation is denied.'
55
55
  )
56
56
  end
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class VcloudDirector
2
+ module VcloudDirector
3
+ class Compute
4
4
  class Real
5
5
  # Merge the metadata provided in the request with existing metadata.
6
6
  #
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class VcloudDirector
2
+ module VcloudDirector
3
+ class Compute
4
4
  class Real
5
5
  # Upgrade the virtual hardware version of a VM to the highest supported
6
6
  # virtual hardware version of the vDC that contains it.
@@ -1,6 +1,6 @@
1
1
  module Fog
2
- module Compute
3
- class VcloudDirector
2
+ module VcloudDirector
3
+ class Compute
4
4
  class Real
5
5
  # Create a disk.
6
6
  #
@@ -81,12 +81,12 @@ module Fog
81
81
  class Mock
82
82
  def post_upload_disk(id, name, size, options={})
83
83
  unless size.to_s =~ /^\d+$/
84
- raise Fog::Compute::VcloudDirector::BadRequest.new(
84
+ raise Fog::VcloudDirector::Compute::BadRequest.new(
85
85
  "validation error on field 'diskSpec.sizeBytes': must be greater than or equal to 0"
86
86
  )
87
87
  end
88
88
  unless data[:vdcs][id]
89
- raise Fog::Compute::VcloudDirector::Forbidden.new(
89
+ raise Fog::VcloudDirector::Compute::Forbidden.new(
90
90
  'No access to entity "(com.vmware.vcloud.entity.vdc:%s)".' % id
91
91
  )
92
92
  end