fog-cloudstack 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (588) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.travis.yml +7 -0
  4. data/CHANGELOG.md +7 -0
  5. data/CONTRIBUTORS.md +2 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE.md +21 -0
  8. data/README.md +37 -0
  9. data/Rakefile +10 -0
  10. data/fog-cloudstack.gemspec +32 -0
  11. data/lib/fog/cloudstack.rb +45 -0
  12. data/lib/fog/cloudstack/compute.rb +995 -0
  13. data/lib/fog/cloudstack/models/compute/address.rb +17 -0
  14. data/lib/fog/cloudstack/models/compute/disk_offering.rb +44 -0
  15. data/lib/fog/cloudstack/models/compute/disk_offerings.rb +24 -0
  16. data/lib/fog/cloudstack/models/compute/egress_firewall_rule.rb +38 -0
  17. data/lib/fog/cloudstack/models/compute/egress_firewall_rules.rb +25 -0
  18. data/lib/fog/cloudstack/models/compute/firewall_rule.rb +24 -0
  19. data/lib/fog/cloudstack/models/compute/firewall_rules.rb +25 -0
  20. data/lib/fog/cloudstack/models/compute/flavor.rb +36 -0
  21. data/lib/fog/cloudstack/models/compute/flavors.rb +25 -0
  22. data/lib/fog/cloudstack/models/compute/image.rb +72 -0
  23. data/lib/fog/cloudstack/models/compute/images.rb +37 -0
  24. data/lib/fog/cloudstack/models/compute/job.rb +51 -0
  25. data/lib/fog/cloudstack/models/compute/jobs.rb +25 -0
  26. data/lib/fog/cloudstack/models/compute/network.rb +73 -0
  27. data/lib/fog/cloudstack/models/compute/network_offering.rb +25 -0
  28. data/lib/fog/cloudstack/models/compute/network_offerings.rb +39 -0
  29. data/lib/fog/cloudstack/models/compute/networks.rb +38 -0
  30. data/lib/fog/cloudstack/models/compute/port_forwarding_rule.rb +25 -0
  31. data/lib/fog/cloudstack/models/compute/port_forwarding_rules.rb +25 -0
  32. data/lib/fog/cloudstack/models/compute/project.rb +58 -0
  33. data/lib/fog/cloudstack/models/compute/projects.rb +39 -0
  34. data/lib/fog/cloudstack/models/compute/public_ip_address.rb +96 -0
  35. data/lib/fog/cloudstack/models/compute/public_ip_addresses.rb +27 -0
  36. data/lib/fog/cloudstack/models/compute/security_group.rb +50 -0
  37. data/lib/fog/cloudstack/models/compute/security_group_rule.rb +60 -0
  38. data/lib/fog/cloudstack/models/compute/security_group_rules.rb +35 -0
  39. data/lib/fog/cloudstack/models/compute/security_groups.rb +25 -0
  40. data/lib/fog/cloudstack/models/compute/server.rb +162 -0
  41. data/lib/fog/cloudstack/models/compute/servers.rb +39 -0
  42. data/lib/fog/cloudstack/models/compute/snapshot.rb +46 -0
  43. data/lib/fog/cloudstack/models/compute/snapshots.rb +23 -0
  44. data/lib/fog/cloudstack/models/compute/volume.rb +121 -0
  45. data/lib/fog/cloudstack/models/compute/volumes.rb +26 -0
  46. data/lib/fog/cloudstack/models/compute/zone.rb +38 -0
  47. data/lib/fog/cloudstack/models/compute/zones.rb +29 -0
  48. data/lib/fog/cloudstack/requests/compute/acquire_ip_address.rb +18 -0
  49. data/lib/fog/cloudstack/requests/compute/activate_project.rb +25 -0
  50. data/lib/fog/cloudstack/requests/compute/add_account_to_project.rb +25 -0
  51. data/lib/fog/cloudstack/requests/compute/add_baremetal_dhcp.rb +29 -0
  52. data/lib/fog/cloudstack/requests/compute/add_baremetal_host.rb +30 -0
  53. data/lib/fog/cloudstack/requests/compute/add_baremetal_pxe_kick_start_server.rb +30 -0
  54. data/lib/fog/cloudstack/requests/compute/add_baremetal_pxe_ping_server.rb +32 -0
  55. data/lib/fog/cloudstack/requests/compute/add_big_switch_vns_device.rb +26 -0
  56. data/lib/fog/cloudstack/requests/compute/add_cisco_asa1000v_resource.rb +28 -0
  57. data/lib/fog/cloudstack/requests/compute/add_cisco_vnmc_resource.rb +28 -0
  58. data/lib/fog/cloudstack/requests/compute/add_cluster.rb +29 -0
  59. data/lib/fog/cloudstack/requests/compute/add_external_firewall.rb +28 -0
  60. data/lib/fog/cloudstack/requests/compute/add_external_load_balancer.rb +28 -0
  61. data/lib/fog/cloudstack/requests/compute/add_f5_load_balancer.rb +29 -0
  62. data/lib/fog/cloudstack/requests/compute/add_guest_os.rb +26 -0
  63. data/lib/fog/cloudstack/requests/compute/add_guest_os_mapping.rb +27 -0
  64. data/lib/fog/cloudstack/requests/compute/add_host.rb +30 -0
  65. data/lib/fog/cloudstack/requests/compute/add_image_store.rb +25 -0
  66. data/lib/fog/cloudstack/requests/compute/add_ip_to_nic.rb +25 -0
  67. data/lib/fog/cloudstack/requests/compute/add_ldap_configuration.rb +26 -0
  68. data/lib/fog/cloudstack/requests/compute/add_netscaler_load_balancer.rb +29 -0
  69. data/lib/fog/cloudstack/requests/compute/add_network_device.rb +24 -0
  70. data/lib/fog/cloudstack/requests/compute/add_network_service_provider.rb +26 -0
  71. data/lib/fog/cloudstack/requests/compute/add_nic_to_virtual_machine.rb +26 -0
  72. data/lib/fog/cloudstack/requests/compute/add_nicira_nvp_device.rb +29 -0
  73. data/lib/fog/cloudstack/requests/compute/add_open_daylight_controller.rb +28 -0
  74. data/lib/fog/cloudstack/requests/compute/add_palo_alto_firewall.rb +29 -0
  75. data/lib/fog/cloudstack/requests/compute/add_region.rb +27 -0
  76. data/lib/fog/cloudstack/requests/compute/add_resource_detail.rb +27 -0
  77. data/lib/fog/cloudstack/requests/compute/add_s3.rb +27 -0
  78. data/lib/fog/cloudstack/requests/compute/add_secondary_storage.rb +25 -0
  79. data/lib/fog/cloudstack/requests/compute/add_srx_firewall.rb +29 -0
  80. data/lib/fog/cloudstack/requests/compute/add_stratosphere_ssp.rb +27 -0
  81. data/lib/fog/cloudstack/requests/compute/add_swift.rb +25 -0
  82. data/lib/fog/cloudstack/requests/compute/add_traffic_monitor.rb +26 -0
  83. data/lib/fog/cloudstack/requests/compute/add_traffic_type.rb +26 -0
  84. data/lib/fog/cloudstack/requests/compute/add_ucs_manager.rb +28 -0
  85. data/lib/fog/cloudstack/requests/compute/add_vmware_dc.rb +27 -0
  86. data/lib/fog/cloudstack/requests/compute/add_vpn_user.rb +26 -0
  87. data/lib/fog/cloudstack/requests/compute/archive_alerts.rb +24 -0
  88. data/lib/fog/cloudstack/requests/compute/archive_events.rb +24 -0
  89. data/lib/fog/cloudstack/requests/compute/assign_cert_to_load_balancer.rb +26 -0
  90. data/lib/fog/cloudstack/requests/compute/assign_to_global_load_balancer_rule.rb +26 -0
  91. data/lib/fog/cloudstack/requests/compute/assign_to_load_balancer_rule.rb +25 -0
  92. data/lib/fog/cloudstack/requests/compute/assign_virtual_machine.rb +27 -0
  93. data/lib/fog/cloudstack/requests/compute/associate_ip_address.rb +55 -0
  94. data/lib/fog/cloudstack/requests/compute/associate_lun.rb +22 -0
  95. data/lib/fog/cloudstack/requests/compute/associate_ucs_profile_to_blade.rb +27 -0
  96. data/lib/fog/cloudstack/requests/compute/attach_iso.rb +26 -0
  97. data/lib/fog/cloudstack/requests/compute/attach_volume.rb +76 -0
  98. data/lib/fog/cloudstack/requests/compute/authorize_security_group_egress.rb +78 -0
  99. data/lib/fog/cloudstack/requests/compute/authorize_security_group_ingress.rb +78 -0
  100. data/lib/fog/cloudstack/requests/compute/cancel_host_maintenance.rb +25 -0
  101. data/lib/fog/cloudstack/requests/compute/cancel_storage_maintenance.rb +25 -0
  102. data/lib/fog/cloudstack/requests/compute/change_service_for_router.rb +26 -0
  103. data/lib/fog/cloudstack/requests/compute/change_service_for_system_vm.rb +26 -0
  104. data/lib/fog/cloudstack/requests/compute/change_service_for_virtual_machine.rb +26 -0
  105. data/lib/fog/cloudstack/requests/compute/clean_vmreservations.rb +24 -0
  106. data/lib/fog/cloudstack/requests/compute/configure_f5_load_balancer.rb +25 -0
  107. data/lib/fog/cloudstack/requests/compute/configure_internal_load_balancer_element.rb +26 -0
  108. data/lib/fog/cloudstack/requests/compute/configure_netscaler_load_balancer.rb +25 -0
  109. data/lib/fog/cloudstack/requests/compute/configure_ovs_element.rb +26 -0
  110. data/lib/fog/cloudstack/requests/compute/configure_palo_alto_firewall.rb +25 -0
  111. data/lib/fog/cloudstack/requests/compute/configure_srx_firewall.rb +25 -0
  112. data/lib/fog/cloudstack/requests/compute/configure_virtual_router_element.rb +26 -0
  113. data/lib/fog/cloudstack/requests/compute/copy_iso.rb +26 -0
  114. data/lib/fog/cloudstack/requests/compute/copy_template.rb +26 -0
  115. data/lib/fog/cloudstack/requests/compute/create_account.rb +30 -0
  116. data/lib/fog/cloudstack/requests/compute/create_affinity_group.rb +26 -0
  117. data/lib/fog/cloudstack/requests/compute/create_auto_scale_policy.rb +27 -0
  118. data/lib/fog/cloudstack/requests/compute/create_auto_scale_vm_group.rb +30 -0
  119. data/lib/fog/cloudstack/requests/compute/create_auto_scale_vm_profile.rb +27 -0
  120. data/lib/fog/cloudstack/requests/compute/create_condition.rb +27 -0
  121. data/lib/fog/cloudstack/requests/compute/create_counter.rb +27 -0
  122. data/lib/fog/cloudstack/requests/compute/create_disk_offering.rb +56 -0
  123. data/lib/fog/cloudstack/requests/compute/create_domain.rb +25 -0
  124. data/lib/fog/cloudstack/requests/compute/create_egress_firewall_rule.rb +44 -0
  125. data/lib/fog/cloudstack/requests/compute/create_firewall_rule.rb +48 -0
  126. data/lib/fog/cloudstack/requests/compute/create_global_load_balancer_rule.rb +28 -0
  127. data/lib/fog/cloudstack/requests/compute/create_instance_group.rb +25 -0
  128. data/lib/fog/cloudstack/requests/compute/create_internal_load_balancer_element.rb +25 -0
  129. data/lib/fog/cloudstack/requests/compute/create_ip_forwarding_rule.rb +27 -0
  130. data/lib/fog/cloudstack/requests/compute/create_lb_health_check_policy.rb +25 -0
  131. data/lib/fog/cloudstack/requests/compute/create_lb_stickiness_policy.rb +27 -0
  132. data/lib/fog/cloudstack/requests/compute/create_load_balancer.rb +31 -0
  133. data/lib/fog/cloudstack/requests/compute/create_load_balancer_rule.rb +28 -0
  134. data/lib/fog/cloudstack/requests/compute/create_lun_on_filer.rb +22 -0
  135. data/lib/fog/cloudstack/requests/compute/create_network.rb +30 -0
  136. data/lib/fog/cloudstack/requests/compute/create_network_acl.rb +25 -0
  137. data/lib/fog/cloudstack/requests/compute/create_network_acl_list.rb +26 -0
  138. data/lib/fog/cloudstack/requests/compute/create_network_offering.rb +55 -0
  139. data/lib/fog/cloudstack/requests/compute/create_physical_network.rb +26 -0
  140. data/lib/fog/cloudstack/requests/compute/create_pod.rb +29 -0
  141. data/lib/fog/cloudstack/requests/compute/create_pool.rb +22 -0
  142. data/lib/fog/cloudstack/requests/compute/create_port_forwarding_rule.rb +55 -0
  143. data/lib/fog/cloudstack/requests/compute/create_portable_ip_range.rb +29 -0
  144. data/lib/fog/cloudstack/requests/compute/create_private_gateway.rb +29 -0
  145. data/lib/fog/cloudstack/requests/compute/create_project.rb +26 -0
  146. data/lib/fog/cloudstack/requests/compute/create_remote_access_vpn.rb +25 -0
  147. data/lib/fog/cloudstack/requests/compute/create_secondary_staging_store.rb +25 -0
  148. data/lib/fog/cloudstack/requests/compute/create_security_group.rb +37 -0
  149. data/lib/fog/cloudstack/requests/compute/create_service_instance.rb +30 -0
  150. data/lib/fog/cloudstack/requests/compute/create_service_offering.rb +55 -0
  151. data/lib/fog/cloudstack/requests/compute/create_snapshot.rb +48 -0
  152. data/lib/fog/cloudstack/requests/compute/create_snapshot_policy.rb +29 -0
  153. data/lib/fog/cloudstack/requests/compute/create_ssh_key_pair.rb +27 -0
  154. data/lib/fog/cloudstack/requests/compute/create_static_route.rb +26 -0
  155. data/lib/fog/cloudstack/requests/compute/create_storage_network_ip_range.rb +28 -0
  156. data/lib/fog/cloudstack/requests/compute/create_storage_pool.rb +27 -0
  157. data/lib/fog/cloudstack/requests/compute/create_tags.rb +27 -0
  158. data/lib/fog/cloudstack/requests/compute/create_template.rb +27 -0
  159. data/lib/fog/cloudstack/requests/compute/create_user.rb +30 -0
  160. data/lib/fog/cloudstack/requests/compute/create_virtual_router_element.rb +25 -0
  161. data/lib/fog/cloudstack/requests/compute/create_vlan_ip_range.rb +24 -0
  162. data/lib/fog/cloudstack/requests/compute/create_vm_snapshot.rb +25 -0
  163. data/lib/fog/cloudstack/requests/compute/create_volume.rb +69 -0
  164. data/lib/fog/cloudstack/requests/compute/create_volume_on_filer.rb +27 -0
  165. data/lib/fog/cloudstack/requests/compute/create_vpc.rb +29 -0
  166. data/lib/fog/cloudstack/requests/compute/create_vpcoffering.rb +27 -0
  167. data/lib/fog/cloudstack/requests/compute/create_vpn_connection.rb +26 -0
  168. data/lib/fog/cloudstack/requests/compute/create_vpn_customer_gateway.rb +29 -0
  169. data/lib/fog/cloudstack/requests/compute/create_vpn_gateway.rb +25 -0
  170. data/lib/fog/cloudstack/requests/compute/create_zone.rb +28 -0
  171. data/lib/fog/cloudstack/requests/compute/dedicate_cluster.rb +26 -0
  172. data/lib/fog/cloudstack/requests/compute/dedicate_guest_vlan_range.rb +28 -0
  173. data/lib/fog/cloudstack/requests/compute/dedicate_host.rb +26 -0
  174. data/lib/fog/cloudstack/requests/compute/dedicate_pod.rb +26 -0
  175. data/lib/fog/cloudstack/requests/compute/dedicate_public_ip_range.rb +27 -0
  176. data/lib/fog/cloudstack/requests/compute/dedicate_zone.rb +26 -0
  177. data/lib/fog/cloudstack/requests/compute/delete_account.rb +25 -0
  178. data/lib/fog/cloudstack/requests/compute/delete_account_from_project.rb +26 -0
  179. data/lib/fog/cloudstack/requests/compute/delete_affinity_group.rb +24 -0
  180. data/lib/fog/cloudstack/requests/compute/delete_alerts.rb +24 -0
  181. data/lib/fog/cloudstack/requests/compute/delete_auto_scale_policy.rb +25 -0
  182. data/lib/fog/cloudstack/requests/compute/delete_auto_scale_vm_group.rb +25 -0
  183. data/lib/fog/cloudstack/requests/compute/delete_auto_scale_vm_profile.rb +25 -0
  184. data/lib/fog/cloudstack/requests/compute/delete_big_switch_vns_device.rb +25 -0
  185. data/lib/fog/cloudstack/requests/compute/delete_cisco_asa1000v_resource.rb +25 -0
  186. data/lib/fog/cloudstack/requests/compute/delete_cisco_nexus_vsm.rb +25 -0
  187. data/lib/fog/cloudstack/requests/compute/delete_cisco_vnmc_resource.rb +25 -0
  188. data/lib/fog/cloudstack/requests/compute/delete_cluster.rb +25 -0
  189. data/lib/fog/cloudstack/requests/compute/delete_condition.rb +25 -0
  190. data/lib/fog/cloudstack/requests/compute/delete_counter.rb +25 -0
  191. data/lib/fog/cloudstack/requests/compute/delete_disk_offering.rb +33 -0
  192. data/lib/fog/cloudstack/requests/compute/delete_domain.rb +25 -0
  193. data/lib/fog/cloudstack/requests/compute/delete_egress_firewall_rule.rb +34 -0
  194. data/lib/fog/cloudstack/requests/compute/delete_events.rb +24 -0
  195. data/lib/fog/cloudstack/requests/compute/delete_external_firewall.rb +25 -0
  196. data/lib/fog/cloudstack/requests/compute/delete_external_load_balancer.rb +25 -0
  197. data/lib/fog/cloudstack/requests/compute/delete_f5_load_balancer.rb +25 -0
  198. data/lib/fog/cloudstack/requests/compute/delete_firewall_rule.rb +34 -0
  199. data/lib/fog/cloudstack/requests/compute/delete_global_load_balancer_rule.rb +25 -0
  200. data/lib/fog/cloudstack/requests/compute/delete_host.rb +25 -0
  201. data/lib/fog/cloudstack/requests/compute/delete_image_store.rb +25 -0
  202. data/lib/fog/cloudstack/requests/compute/delete_instance_group.rb +25 -0
  203. data/lib/fog/cloudstack/requests/compute/delete_ip_forwarding_rule.rb +25 -0
  204. data/lib/fog/cloudstack/requests/compute/delete_iso.rb +25 -0
  205. data/lib/fog/cloudstack/requests/compute/delete_lb_health_check_policy.rb +25 -0
  206. data/lib/fog/cloudstack/requests/compute/delete_lb_stickiness_policy.rb +25 -0
  207. data/lib/fog/cloudstack/requests/compute/delete_ldap_configuration.rb +25 -0
  208. data/lib/fog/cloudstack/requests/compute/delete_load_balancer.rb +25 -0
  209. data/lib/fog/cloudstack/requests/compute/delete_load_balancer_rule.rb +25 -0
  210. data/lib/fog/cloudstack/requests/compute/delete_netscaler_load_balancer.rb +25 -0
  211. data/lib/fog/cloudstack/requests/compute/delete_network.rb +25 -0
  212. data/lib/fog/cloudstack/requests/compute/delete_network_acl.rb +25 -0
  213. data/lib/fog/cloudstack/requests/compute/delete_network_acl_list.rb +25 -0
  214. data/lib/fog/cloudstack/requests/compute/delete_network_device.rb +25 -0
  215. data/lib/fog/cloudstack/requests/compute/delete_network_offering.rb +34 -0
  216. data/lib/fog/cloudstack/requests/compute/delete_network_service_provider.rb +25 -0
  217. data/lib/fog/cloudstack/requests/compute/delete_nicira_nvp_device.rb +25 -0
  218. data/lib/fog/cloudstack/requests/compute/delete_open_daylight_controller.rb +25 -0
  219. data/lib/fog/cloudstack/requests/compute/delete_palo_alto_firewall.rb +25 -0
  220. data/lib/fog/cloudstack/requests/compute/delete_physical_network.rb +25 -0
  221. data/lib/fog/cloudstack/requests/compute/delete_pod.rb +25 -0
  222. data/lib/fog/cloudstack/requests/compute/delete_pool.rb +21 -0
  223. data/lib/fog/cloudstack/requests/compute/delete_port_forwarding_rule.rb +25 -0
  224. data/lib/fog/cloudstack/requests/compute/delete_portable_ip_range.rb +25 -0
  225. data/lib/fog/cloudstack/requests/compute/delete_private_gateway.rb +25 -0
  226. data/lib/fog/cloudstack/requests/compute/delete_project.rb +25 -0
  227. data/lib/fog/cloudstack/requests/compute/delete_project_invitation.rb +25 -0
  228. data/lib/fog/cloudstack/requests/compute/delete_remote_access_vpn.rb +25 -0
  229. data/lib/fog/cloudstack/requests/compute/delete_secondary_staging_store.rb +25 -0
  230. data/lib/fog/cloudstack/requests/compute/delete_security_group.rb +39 -0
  231. data/lib/fog/cloudstack/requests/compute/delete_service_offering.rb +34 -0
  232. data/lib/fog/cloudstack/requests/compute/delete_snapshot.rb +61 -0
  233. data/lib/fog/cloudstack/requests/compute/delete_snapshot_policies.rb +24 -0
  234. data/lib/fog/cloudstack/requests/compute/delete_srx_firewall.rb +25 -0
  235. data/lib/fog/cloudstack/requests/compute/delete_ssh_key_pair.rb +27 -0
  236. data/lib/fog/cloudstack/requests/compute/delete_ssl_cert.rb +25 -0
  237. data/lib/fog/cloudstack/requests/compute/delete_static_route.rb +25 -0
  238. data/lib/fog/cloudstack/requests/compute/delete_storage_network_ip_range.rb +25 -0
  239. data/lib/fog/cloudstack/requests/compute/delete_storage_pool.rb +25 -0
  240. data/lib/fog/cloudstack/requests/compute/delete_tags.rb +26 -0
  241. data/lib/fog/cloudstack/requests/compute/delete_template.rb +25 -0
  242. data/lib/fog/cloudstack/requests/compute/delete_traffic_monitor.rb +25 -0
  243. data/lib/fog/cloudstack/requests/compute/delete_traffic_type.rb +25 -0
  244. data/lib/fog/cloudstack/requests/compute/delete_ucs_manager.rb +21 -0
  245. data/lib/fog/cloudstack/requests/compute/delete_user.rb +25 -0
  246. data/lib/fog/cloudstack/requests/compute/delete_vlan_ip_range.rb +25 -0
  247. data/lib/fog/cloudstack/requests/compute/delete_vm_snapshot.rb +25 -0
  248. data/lib/fog/cloudstack/requests/compute/delete_volume.rb +45 -0
  249. data/lib/fog/cloudstack/requests/compute/delete_vpc.rb +25 -0
  250. data/lib/fog/cloudstack/requests/compute/delete_vpcoffering.rb +25 -0
  251. data/lib/fog/cloudstack/requests/compute/delete_vpn_connection.rb +25 -0
  252. data/lib/fog/cloudstack/requests/compute/delete_vpn_customer_gateway.rb +25 -0
  253. data/lib/fog/cloudstack/requests/compute/delete_vpn_gateway.rb +25 -0
  254. data/lib/fog/cloudstack/requests/compute/delete_zone.rb +25 -0
  255. data/lib/fog/cloudstack/requests/compute/deploy_virtual_machine.rb +125 -0
  256. data/lib/fog/cloudstack/requests/compute/destroy_lun_on_filer.rb +21 -0
  257. data/lib/fog/cloudstack/requests/compute/destroy_router.rb +25 -0
  258. data/lib/fog/cloudstack/requests/compute/destroy_system_vm.rb +25 -0
  259. data/lib/fog/cloudstack/requests/compute/destroy_virtual_machine.rb +54 -0
  260. data/lib/fog/cloudstack/requests/compute/destroy_volume_on_filer.rb +23 -0
  261. data/lib/fog/cloudstack/requests/compute/detach_iso.rb +25 -0
  262. data/lib/fog/cloudstack/requests/compute/detach_volume.rb +64 -0
  263. data/lib/fog/cloudstack/requests/compute/disable_account.rb +25 -0
  264. data/lib/fog/cloudstack/requests/compute/disable_auto_scale_vm_group.rb +25 -0
  265. data/lib/fog/cloudstack/requests/compute/disable_cisco_nexus_vsm.rb +25 -0
  266. data/lib/fog/cloudstack/requests/compute/disable_static_nat.rb +51 -0
  267. data/lib/fog/cloudstack/requests/compute/disable_user.rb +25 -0
  268. data/lib/fog/cloudstack/requests/compute/disassociate_ip_address.rb +35 -0
  269. data/lib/fog/cloudstack/requests/compute/disassociate_ucs_profile_from_blade.rb +21 -0
  270. data/lib/fog/cloudstack/requests/compute/dissociate_lun.rb +22 -0
  271. data/lib/fog/cloudstack/requests/compute/enable_account.rb +24 -0
  272. data/lib/fog/cloudstack/requests/compute/enable_auto_scale_vm_group.rb +25 -0
  273. data/lib/fog/cloudstack/requests/compute/enable_cisco_nexus_vsm.rb +25 -0
  274. data/lib/fog/cloudstack/requests/compute/enable_static_nat.rb +69 -0
  275. data/lib/fog/cloudstack/requests/compute/enable_storage_maintenance.rb +25 -0
  276. data/lib/fog/cloudstack/requests/compute/enable_user.rb +25 -0
  277. data/lib/fog/cloudstack/requests/compute/expunge_virtual_machine.rb +25 -0
  278. data/lib/fog/cloudstack/requests/compute/extract_iso.rb +26 -0
  279. data/lib/fog/cloudstack/requests/compute/extract_template.rb +65 -0
  280. data/lib/fog/cloudstack/requests/compute/extract_volume.rb +27 -0
  281. data/lib/fog/cloudstack/requests/compute/find_hosts_for_migration.rb +25 -0
  282. data/lib/fog/cloudstack/requests/compute/find_storage_pools_for_migration.rb +25 -0
  283. data/lib/fog/cloudstack/requests/compute/generate_alert.rb +27 -0
  284. data/lib/fog/cloudstack/requests/compute/generate_usage_records.rb +26 -0
  285. data/lib/fog/cloudstack/requests/compute/get_api_limit.rb +24 -0
  286. data/lib/fog/cloudstack/requests/compute/get_cloud_identifier.rb +25 -0
  287. data/lib/fog/cloudstack/requests/compute/get_user.rb +25 -0
  288. data/lib/fog/cloudstack/requests/compute/get_virtual_machine_user_data.rb +25 -0
  289. data/lib/fog/cloudstack/requests/compute/get_vm_password.rb +25 -0
  290. data/lib/fog/cloudstack/requests/compute/import_ldap_users.rb +25 -0
  291. data/lib/fog/cloudstack/requests/compute/instantiate_ucs_template_and_assocaciate_to_blade.rb +23 -0
  292. data/lib/fog/cloudstack/requests/compute/ldap_config.rb +20 -0
  293. data/lib/fog/cloudstack/requests/compute/ldap_create_account.rb +26 -0
  294. data/lib/fog/cloudstack/requests/compute/ldap_remove.rb +20 -0
  295. data/lib/fog/cloudstack/requests/compute/list_accounts.rb +24 -0
  296. data/lib/fog/cloudstack/requests/compute/list_affinity_group_types.rb +24 -0
  297. data/lib/fog/cloudstack/requests/compute/list_affinity_groups.rb +24 -0
  298. data/lib/fog/cloudstack/requests/compute/list_alerts.rb +24 -0
  299. data/lib/fog/cloudstack/requests/compute/list_apis.rb +24 -0
  300. data/lib/fog/cloudstack/requests/compute/list_async_jobs.rb +36 -0
  301. data/lib/fog/cloudstack/requests/compute/list_auto_scale_policies.rb +24 -0
  302. data/lib/fog/cloudstack/requests/compute/list_auto_scale_vm_groups.rb +24 -0
  303. data/lib/fog/cloudstack/requests/compute/list_auto_scale_vm_profiles.rb +24 -0
  304. data/lib/fog/cloudstack/requests/compute/list_baremetal_dhcp.rb +24 -0
  305. data/lib/fog/cloudstack/requests/compute/list_baremetal_pxe_servers.rb +24 -0
  306. data/lib/fog/cloudstack/requests/compute/list_big_switch_vns_devices.rb +24 -0
  307. data/lib/fog/cloudstack/requests/compute/list_capabilities.rb +24 -0
  308. data/lib/fog/cloudstack/requests/compute/list_capacity.rb +24 -0
  309. data/lib/fog/cloudstack/requests/compute/list_cisco_asa1000v_resources.rb +24 -0
  310. data/lib/fog/cloudstack/requests/compute/list_cisco_nexus_vsms.rb +24 -0
  311. data/lib/fog/cloudstack/requests/compute/list_cisco_vnmc_resources.rb +24 -0
  312. data/lib/fog/cloudstack/requests/compute/list_clusters.rb +24 -0
  313. data/lib/fog/cloudstack/requests/compute/list_conditions.rb +24 -0
  314. data/lib/fog/cloudstack/requests/compute/list_configurations.rb +24 -0
  315. data/lib/fog/cloudstack/requests/compute/list_counters.rb +24 -0
  316. data/lib/fog/cloudstack/requests/compute/list_dedicated_clusters.rb +24 -0
  317. data/lib/fog/cloudstack/requests/compute/list_dedicated_guest_vlan_ranges.rb +24 -0
  318. data/lib/fog/cloudstack/requests/compute/list_dedicated_hosts.rb +24 -0
  319. data/lib/fog/cloudstack/requests/compute/list_dedicated_pods.rb +24 -0
  320. data/lib/fog/cloudstack/requests/compute/list_dedicated_zones.rb +24 -0
  321. data/lib/fog/cloudstack/requests/compute/list_deployment_planners.rb +24 -0
  322. data/lib/fog/cloudstack/requests/compute/list_disk_offerings.rb +32 -0
  323. data/lib/fog/cloudstack/requests/compute/list_domain_children.rb +24 -0
  324. data/lib/fog/cloudstack/requests/compute/list_domains.rb +24 -0
  325. data/lib/fog/cloudstack/requests/compute/list_egress_firewall_rules.rb +35 -0
  326. data/lib/fog/cloudstack/requests/compute/list_event_types.rb +24 -0
  327. data/lib/fog/cloudstack/requests/compute/list_events.rb +24 -0
  328. data/lib/fog/cloudstack/requests/compute/list_external_firewalls.rb +25 -0
  329. data/lib/fog/cloudstack/requests/compute/list_external_load_balancers.rb +24 -0
  330. data/lib/fog/cloudstack/requests/compute/list_f5_load_balancer_networks.rb +25 -0
  331. data/lib/fog/cloudstack/requests/compute/list_f5_load_balancers.rb +24 -0
  332. data/lib/fog/cloudstack/requests/compute/list_firewall_rules.rb +35 -0
  333. data/lib/fog/cloudstack/requests/compute/list_global_load_balancer_rules.rb +24 -0
  334. data/lib/fog/cloudstack/requests/compute/list_guest_os_mapping.rb +24 -0
  335. data/lib/fog/cloudstack/requests/compute/list_hosts.rb +24 -0
  336. data/lib/fog/cloudstack/requests/compute/list_hypervisor_capabilities.rb +24 -0
  337. data/lib/fog/cloudstack/requests/compute/list_hypervisors.rb +24 -0
  338. data/lib/fog/cloudstack/requests/compute/list_image_stores.rb +24 -0
  339. data/lib/fog/cloudstack/requests/compute/list_instance_groups.rb +24 -0
  340. data/lib/fog/cloudstack/requests/compute/list_internal_load_balancer_elements.rb +24 -0
  341. data/lib/fog/cloudstack/requests/compute/list_internal_load_balancer_vms.rb +24 -0
  342. data/lib/fog/cloudstack/requests/compute/list_ip_forwarding_rules.rb +24 -0
  343. data/lib/fog/cloudstack/requests/compute/list_iso_permissions.rb +25 -0
  344. data/lib/fog/cloudstack/requests/compute/list_isos.rb +24 -0
  345. data/lib/fog/cloudstack/requests/compute/list_lb_health_check_policies.rb +24 -0
  346. data/lib/fog/cloudstack/requests/compute/list_lb_stickiness_policies.rb +24 -0
  347. data/lib/fog/cloudstack/requests/compute/list_ldap_configurations.rb +24 -0
  348. data/lib/fog/cloudstack/requests/compute/list_ldap_users.rb +24 -0
  349. data/lib/fog/cloudstack/requests/compute/list_load_balancer_rule_instances.rb +25 -0
  350. data/lib/fog/cloudstack/requests/compute/list_load_balancer_rules.rb +24 -0
  351. data/lib/fog/cloudstack/requests/compute/list_load_balancers.rb +24 -0
  352. data/lib/fog/cloudstack/requests/compute/list_luns_on_filer.rb +21 -0
  353. data/lib/fog/cloudstack/requests/compute/list_netscaler_load_balancer_networks.rb +25 -0
  354. data/lib/fog/cloudstack/requests/compute/list_netscaler_load_balancers.rb +24 -0
  355. data/lib/fog/cloudstack/requests/compute/list_network_acl_lists.rb +24 -0
  356. data/lib/fog/cloudstack/requests/compute/list_network_acls.rb +24 -0
  357. data/lib/fog/cloudstack/requests/compute/list_network_device.rb +24 -0
  358. data/lib/fog/cloudstack/requests/compute/list_network_isolation_methods.rb +24 -0
  359. data/lib/fog/cloudstack/requests/compute/list_network_offerings.rb +31 -0
  360. data/lib/fog/cloudstack/requests/compute/list_network_service_providers.rb +24 -0
  361. data/lib/fog/cloudstack/requests/compute/list_networks.rb +28 -0
  362. data/lib/fog/cloudstack/requests/compute/list_nicira_nvp_device_networks.rb +25 -0
  363. data/lib/fog/cloudstack/requests/compute/list_nicira_nvp_devices.rb +24 -0
  364. data/lib/fog/cloudstack/requests/compute/list_nics.rb +25 -0
  365. data/lib/fog/cloudstack/requests/compute/list_open_daylight_controllers.rb +24 -0
  366. data/lib/fog/cloudstack/requests/compute/list_os_categories.rb +24 -0
  367. data/lib/fog/cloudstack/requests/compute/list_os_types.rb +32 -0
  368. data/lib/fog/cloudstack/requests/compute/list_ovs_elements.rb +24 -0
  369. data/lib/fog/cloudstack/requests/compute/list_palo_alto_firewall_networks.rb +25 -0
  370. data/lib/fog/cloudstack/requests/compute/list_palo_alto_firewalls.rb +24 -0
  371. data/lib/fog/cloudstack/requests/compute/list_physical_networks.rb +24 -0
  372. data/lib/fog/cloudstack/requests/compute/list_pods.rb +24 -0
  373. data/lib/fog/cloudstack/requests/compute/list_pools.rb +20 -0
  374. data/lib/fog/cloudstack/requests/compute/list_port_forwarding_rules.rb +40 -0
  375. data/lib/fog/cloudstack/requests/compute/list_portable_ip_ranges.rb +24 -0
  376. data/lib/fog/cloudstack/requests/compute/list_private_gateways.rb +24 -0
  377. data/lib/fog/cloudstack/requests/compute/list_project_accounts.rb +25 -0
  378. data/lib/fog/cloudstack/requests/compute/list_project_invitations.rb +24 -0
  379. data/lib/fog/cloudstack/requests/compute/list_projects.rb +24 -0
  380. data/lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb +45 -0
  381. data/lib/fog/cloudstack/requests/compute/list_regions.rb +24 -0
  382. data/lib/fog/cloudstack/requests/compute/list_remote_access_vpns.rb +24 -0
  383. data/lib/fog/cloudstack/requests/compute/list_resource_details.rb +25 -0
  384. data/lib/fog/cloudstack/requests/compute/list_resource_limits.rb +24 -0
  385. data/lib/fog/cloudstack/requests/compute/list_routers.rb +24 -0
  386. data/lib/fog/cloudstack/requests/compute/list_s3s.rb +24 -0
  387. data/lib/fog/cloudstack/requests/compute/list_secondary_staging_stores.rb +24 -0
  388. data/lib/fog/cloudstack/requests/compute/list_security_groups.rb +44 -0
  389. data/lib/fog/cloudstack/requests/compute/list_service_offerings.rb +44 -0
  390. data/lib/fog/cloudstack/requests/compute/list_snapshot_policies.rb +25 -0
  391. data/lib/fog/cloudstack/requests/compute/list_snapshots.rb +43 -0
  392. data/lib/fog/cloudstack/requests/compute/list_srx_firewall_networks.rb +25 -0
  393. data/lib/fog/cloudstack/requests/compute/list_srx_firewalls.rb +24 -0
  394. data/lib/fog/cloudstack/requests/compute/list_ssh_key_pairs.rb +26 -0
  395. data/lib/fog/cloudstack/requests/compute/list_ssl_certs.rb +24 -0
  396. data/lib/fog/cloudstack/requests/compute/list_static_routes.rb +24 -0
  397. data/lib/fog/cloudstack/requests/compute/list_storage_network_ip_range.rb +24 -0
  398. data/lib/fog/cloudstack/requests/compute/list_storage_pools.rb +24 -0
  399. data/lib/fog/cloudstack/requests/compute/list_storage_providers.rb +25 -0
  400. data/lib/fog/cloudstack/requests/compute/list_supported_network_services.rb +24 -0
  401. data/lib/fog/cloudstack/requests/compute/list_swifts.rb +24 -0
  402. data/lib/fog/cloudstack/requests/compute/list_system_vms.rb +24 -0
  403. data/lib/fog/cloudstack/requests/compute/list_tags.rb +24 -0
  404. data/lib/fog/cloudstack/requests/compute/list_template_permissions.rb +25 -0
  405. data/lib/fog/cloudstack/requests/compute/list_templates.rb +42 -0
  406. data/lib/fog/cloudstack/requests/compute/list_traffic_monitors.rb +25 -0
  407. data/lib/fog/cloudstack/requests/compute/list_traffic_type_implementors.rb +24 -0
  408. data/lib/fog/cloudstack/requests/compute/list_traffic_types.rb +25 -0
  409. data/lib/fog/cloudstack/requests/compute/list_ucs_blades.rb +25 -0
  410. data/lib/fog/cloudstack/requests/compute/list_ucs_managers.rb +24 -0
  411. data/lib/fog/cloudstack/requests/compute/list_ucs_profiles.rb +25 -0
  412. data/lib/fog/cloudstack/requests/compute/list_ucs_templates.rb +21 -0
  413. data/lib/fog/cloudstack/requests/compute/list_usage_records.rb +26 -0
  414. data/lib/fog/cloudstack/requests/compute/list_usage_types.rb +24 -0
  415. data/lib/fog/cloudstack/requests/compute/list_users.rb +24 -0
  416. data/lib/fog/cloudstack/requests/compute/list_virtual_machines.rb +32 -0
  417. data/lib/fog/cloudstack/requests/compute/list_virtual_router_elements.rb +24 -0
  418. data/lib/fog/cloudstack/requests/compute/list_vlan_ip_ranges.rb +24 -0
  419. data/lib/fog/cloudstack/requests/compute/list_vm_snapshot.rb +26 -0
  420. data/lib/fog/cloudstack/requests/compute/list_vmware_dcs.rb +25 -0
  421. data/lib/fog/cloudstack/requests/compute/list_volumes.rb +43 -0
  422. data/lib/fog/cloudstack/requests/compute/list_volumes_on_filer.rb +21 -0
  423. data/lib/fog/cloudstack/requests/compute/list_vpc_offerings.rb +24 -0
  424. data/lib/fog/cloudstack/requests/compute/list_vpcs.rb +24 -0
  425. data/lib/fog/cloudstack/requests/compute/list_vpn_connections.rb +24 -0
  426. data/lib/fog/cloudstack/requests/compute/list_vpn_customer_gateways.rb +24 -0
  427. data/lib/fog/cloudstack/requests/compute/list_vpn_gateways.rb +24 -0
  428. data/lib/fog/cloudstack/requests/compute/list_vpn_users.rb +24 -0
  429. data/lib/fog/cloudstack/requests/compute/list_zones.rb +37 -0
  430. data/lib/fog/cloudstack/requests/compute/lock_account.rb +26 -0
  431. data/lib/fog/cloudstack/requests/compute/lock_user.rb +25 -0
  432. data/lib/fog/cloudstack/requests/compute/mark_default_zone_for_account.rb +27 -0
  433. data/lib/fog/cloudstack/requests/compute/migrate_system_vm.rb +26 -0
  434. data/lib/fog/cloudstack/requests/compute/migrate_virtual_machine.rb +25 -0
  435. data/lib/fog/cloudstack/requests/compute/migrate_virtual_machine_with_volume.rb +26 -0
  436. data/lib/fog/cloudstack/requests/compute/migrate_volume.rb +26 -0
  437. data/lib/fog/cloudstack/requests/compute/modify_pool.rb +22 -0
  438. data/lib/fog/cloudstack/requests/compute/prepare_host_for_maintenance.rb +25 -0
  439. data/lib/fog/cloudstack/requests/compute/prepare_template.rb +26 -0
  440. data/lib/fog/cloudstack/requests/compute/query_async_job_result.rb +38 -0
  441. data/lib/fog/cloudstack/requests/compute/reboot_router.rb +25 -0
  442. data/lib/fog/cloudstack/requests/compute/reboot_system_vm.rb +25 -0
  443. data/lib/fog/cloudstack/requests/compute/reboot_virtual_machine.rb +35 -0
  444. data/lib/fog/cloudstack/requests/compute/reconnect_host.rb +25 -0
  445. data/lib/fog/cloudstack/requests/compute/recover_virtual_machine.rb +25 -0
  446. data/lib/fog/cloudstack/requests/compute/refresh_ucs_blades.rb +21 -0
  447. data/lib/fog/cloudstack/requests/compute/register_iso.rb +28 -0
  448. data/lib/fog/cloudstack/requests/compute/register_ssh_key_pair.rb +28 -0
  449. data/lib/fog/cloudstack/requests/compute/register_template.rb +45 -0
  450. data/lib/fog/cloudstack/requests/compute/register_user_keys.rb +25 -0
  451. data/lib/fog/cloudstack/requests/compute/release_dedicated_cluster.rb +25 -0
  452. data/lib/fog/cloudstack/requests/compute/release_dedicated_guest_vlan_range.rb +25 -0
  453. data/lib/fog/cloudstack/requests/compute/release_dedicated_host.rb +25 -0
  454. data/lib/fog/cloudstack/requests/compute/release_dedicated_pod.rb +25 -0
  455. data/lib/fog/cloudstack/requests/compute/release_dedicated_zone.rb +25 -0
  456. data/lib/fog/cloudstack/requests/compute/release_host_reservation.rb +25 -0
  457. data/lib/fog/cloudstack/requests/compute/release_public_ip_range.rb +25 -0
  458. data/lib/fog/cloudstack/requests/compute/remove_cert_from_load_balancer.rb +25 -0
  459. data/lib/fog/cloudstack/requests/compute/remove_from_global_load_balancer_rule.rb +26 -0
  460. data/lib/fog/cloudstack/requests/compute/remove_from_load_balancer_rule.rb +25 -0
  461. data/lib/fog/cloudstack/requests/compute/remove_guest_os.rb +25 -0
  462. data/lib/fog/cloudstack/requests/compute/remove_guest_os_mapping.rb +25 -0
  463. data/lib/fog/cloudstack/requests/compute/remove_ip_from_nic.rb +25 -0
  464. data/lib/fog/cloudstack/requests/compute/remove_nic_from_virtual_machine.rb +26 -0
  465. data/lib/fog/cloudstack/requests/compute/remove_region.rb +25 -0
  466. data/lib/fog/cloudstack/requests/compute/remove_resource_detail.rb +26 -0
  467. data/lib/fog/cloudstack/requests/compute/remove_vmware_dc.rb +25 -0
  468. data/lib/fog/cloudstack/requests/compute/remove_vpn_user.rb +25 -0
  469. data/lib/fog/cloudstack/requests/compute/replace_network_acl_list.rb +25 -0
  470. data/lib/fog/cloudstack/requests/compute/reset_api_limit.rb +24 -0
  471. data/lib/fog/cloudstack/requests/compute/reset_password_for_virtual_machine.rb +25 -0
  472. data/lib/fog/cloudstack/requests/compute/reset_ssh_key_for_virtual_machine.rb +28 -0
  473. data/lib/fog/cloudstack/requests/compute/reset_vpn_connection.rb +25 -0
  474. data/lib/fog/cloudstack/requests/compute/resize_volume.rb +25 -0
  475. data/lib/fog/cloudstack/requests/compute/restart_network.rb +25 -0
  476. data/lib/fog/cloudstack/requests/compute/restart_vpc.rb +25 -0
  477. data/lib/fog/cloudstack/requests/compute/restore_virtual_machine.rb +25 -0
  478. data/lib/fog/cloudstack/requests/compute/revert_snapshot.rb +25 -0
  479. data/lib/fog/cloudstack/requests/compute/revert_to_vm_snapshot.rb +25 -0
  480. data/lib/fog/cloudstack/requests/compute/revoke_security_group_egress.rb +52 -0
  481. data/lib/fog/cloudstack/requests/compute/revoke_security_group_ingress.rb +52 -0
  482. data/lib/fog/cloudstack/requests/compute/scale_system_vm.rb +26 -0
  483. data/lib/fog/cloudstack/requests/compute/scale_virtual_machine.rb +26 -0
  484. data/lib/fog/cloudstack/requests/compute/start_internal_load_balancer_vm.rb +25 -0
  485. data/lib/fog/cloudstack/requests/compute/start_router.rb +25 -0
  486. data/lib/fog/cloudstack/requests/compute/start_system_vm.rb +25 -0
  487. data/lib/fog/cloudstack/requests/compute/start_virtual_machine.rb +25 -0
  488. data/lib/fog/cloudstack/requests/compute/stop_internal_load_balancer_vm.rb +25 -0
  489. data/lib/fog/cloudstack/requests/compute/stop_router.rb +25 -0
  490. data/lib/fog/cloudstack/requests/compute/stop_system_vm.rb +25 -0
  491. data/lib/fog/cloudstack/requests/compute/stop_virtual_machine.rb +25 -0
  492. data/lib/fog/cloudstack/requests/compute/suspend_project.rb +25 -0
  493. data/lib/fog/cloudstack/requests/compute/update_account.rb +25 -0
  494. data/lib/fog/cloudstack/requests/compute/update_auto_scale_policy.rb +25 -0
  495. data/lib/fog/cloudstack/requests/compute/update_auto_scale_vm_group.rb +25 -0
  496. data/lib/fog/cloudstack/requests/compute/update_auto_scale_vm_profile.rb +25 -0
  497. data/lib/fog/cloudstack/requests/compute/update_cloud_to_use_object_store.rb +25 -0
  498. data/lib/fog/cloudstack/requests/compute/update_cluster.rb +25 -0
  499. data/lib/fog/cloudstack/requests/compute/update_configuration.rb +25 -0
  500. data/lib/fog/cloudstack/requests/compute/update_default_nic_for_virtual_machine.rb +26 -0
  501. data/lib/fog/cloudstack/requests/compute/update_disk_offering.rb +25 -0
  502. data/lib/fog/cloudstack/requests/compute/update_domain.rb +25 -0
  503. data/lib/fog/cloudstack/requests/compute/update_egress_firewall_rule.rb +25 -0
  504. data/lib/fog/cloudstack/requests/compute/update_firewall_rule.rb +25 -0
  505. data/lib/fog/cloudstack/requests/compute/update_global_load_balancer_rule.rb +25 -0
  506. data/lib/fog/cloudstack/requests/compute/update_guest_os.rb +26 -0
  507. data/lib/fog/cloudstack/requests/compute/update_guest_os_mapping.rb +26 -0
  508. data/lib/fog/cloudstack/requests/compute/update_host.rb +25 -0
  509. data/lib/fog/cloudstack/requests/compute/update_host_password.rb +26 -0
  510. data/lib/fog/cloudstack/requests/compute/update_hypervisor_capabilities.rb +24 -0
  511. data/lib/fog/cloudstack/requests/compute/update_instance_group.rb +25 -0
  512. data/lib/fog/cloudstack/requests/compute/update_ip_address.rb +25 -0
  513. data/lib/fog/cloudstack/requests/compute/update_iso.rb +25 -0
  514. data/lib/fog/cloudstack/requests/compute/update_iso_permissions.rb +25 -0
  515. data/lib/fog/cloudstack/requests/compute/update_lb_health_check_policy.rb +25 -0
  516. data/lib/fog/cloudstack/requests/compute/update_lb_stickiness_policy.rb +25 -0
  517. data/lib/fog/cloudstack/requests/compute/update_load_balancer.rb +25 -0
  518. data/lib/fog/cloudstack/requests/compute/update_load_balancer_rule.rb +25 -0
  519. data/lib/fog/cloudstack/requests/compute/update_network.rb +25 -0
  520. data/lib/fog/cloudstack/requests/compute/update_network_acl_item.rb +25 -0
  521. data/lib/fog/cloudstack/requests/compute/update_network_acl_list.rb +25 -0
  522. data/lib/fog/cloudstack/requests/compute/update_network_offering.rb +24 -0
  523. data/lib/fog/cloudstack/requests/compute/update_network_service_provider.rb +25 -0
  524. data/lib/fog/cloudstack/requests/compute/update_physical_network.rb +25 -0
  525. data/lib/fog/cloudstack/requests/compute/update_pod.rb +25 -0
  526. data/lib/fog/cloudstack/requests/compute/update_port_forwarding_rule.rb +25 -0
  527. data/lib/fog/cloudstack/requests/compute/update_project.rb +25 -0
  528. data/lib/fog/cloudstack/requests/compute/update_project_invitation.rb +25 -0
  529. data/lib/fog/cloudstack/requests/compute/update_region.rb +25 -0
  530. data/lib/fog/cloudstack/requests/compute/update_remote_access_vpn.rb +25 -0
  531. data/lib/fog/cloudstack/requests/compute/update_resource_count.rb +25 -0
  532. data/lib/fog/cloudstack/requests/compute/update_resource_limit.rb +25 -0
  533. data/lib/fog/cloudstack/requests/compute/update_service_offering.rb +25 -0
  534. data/lib/fog/cloudstack/requests/compute/update_storage_network_ip_range.rb +25 -0
  535. data/lib/fog/cloudstack/requests/compute/update_storage_pool.rb +25 -0
  536. data/lib/fog/cloudstack/requests/compute/update_template.rb +25 -0
  537. data/lib/fog/cloudstack/requests/compute/update_template_permissions.rb +25 -0
  538. data/lib/fog/cloudstack/requests/compute/update_traffic_type.rb +25 -0
  539. data/lib/fog/cloudstack/requests/compute/update_user.rb +25 -0
  540. data/lib/fog/cloudstack/requests/compute/update_virtual_machine.rb +25 -0
  541. data/lib/fog/cloudstack/requests/compute/update_vm_affinity_group.rb +25 -0
  542. data/lib/fog/cloudstack/requests/compute/update_volume.rb +24 -0
  543. data/lib/fog/cloudstack/requests/compute/update_vpc.rb +25 -0
  544. data/lib/fog/cloudstack/requests/compute/update_vpcoffering.rb +25 -0
  545. data/lib/fog/cloudstack/requests/compute/update_vpn_connection.rb +25 -0
  546. data/lib/fog/cloudstack/requests/compute/update_vpn_customer_gateway.rb +30 -0
  547. data/lib/fog/cloudstack/requests/compute/update_vpn_gateway.rb +25 -0
  548. data/lib/fog/cloudstack/requests/compute/update_zone.rb +25 -0
  549. data/lib/fog/cloudstack/requests/compute/upgrade_router_template.rb +24 -0
  550. data/lib/fog/cloudstack/requests/compute/upload_custom_certificate.rb +26 -0
  551. data/lib/fog/cloudstack/requests/compute/upload_ssl_cert.rb +26 -0
  552. data/lib/fog/cloudstack/requests/compute/upload_volume.rb +30 -0
  553. data/lib/fog/cloudstack/version.rb +5 -0
  554. data/tests/compute/models/disk_offering_tests.rb +7 -0
  555. data/tests/compute/models/egress_firewall_rule_tests.rb +9 -0
  556. data/tests/compute/models/public_ip_address_tests.rb +42 -0
  557. data/tests/compute/models/public_ip_addresses_tests.rb +3 -0
  558. data/tests/compute/models/security_group_rule_tests.rb +31 -0
  559. data/tests/compute/models/security_group_tests.rb +9 -0
  560. data/tests/compute/models/security_groups_tests.rb +9 -0
  561. data/tests/compute/models/server_tests.rb +26 -0
  562. data/tests/compute/models/snapshot_tests.rb +17 -0
  563. data/tests/compute/models/volume_tests.rb +46 -0
  564. data/tests/compute/models/volumes_tests.rb +14 -0
  565. data/tests/helper.rb +5 -0
  566. data/tests/helpers/collection_helper.rb +91 -0
  567. data/tests/helpers/formats_helper.rb +98 -0
  568. data/tests/helpers/mock_helper.rb +20 -0
  569. data/tests/helpers/model_helper.rb +31 -0
  570. data/tests/helpers/responds_to_helper.rb +11 -0
  571. data/tests/helpers/succeeds_helper.rb +9 -0
  572. data/tests/requests/disk_offering_tests.rb +29 -0
  573. data/tests/requests/egress_firewall_rule_tests.rb +25 -0
  574. data/tests/requests/firewall_rule_tests.rb +29 -0
  575. data/tests/requests/network_offering_tests.rb +32 -0
  576. data/tests/requests/os_type_tests.rb +37 -0
  577. data/tests/requests/port_forwarding_rule_tests.rb +33 -0
  578. data/tests/requests/public_ip_address_tests.rb +38 -0
  579. data/tests/requests/security_group_tests.rb +28 -0
  580. data/tests/requests/service_offering_tests.rb +31 -0
  581. data/tests/requests/snapshot_tests.rb +32 -0
  582. data/tests/requests/ssh_key_pair_tests.rb +23 -0
  583. data/tests/requests/template_tests.rb +52 -0
  584. data/tests/requests/virtual_machine_tests.rb +71 -0
  585. data/tests/requests/volume_tests.rb +47 -0
  586. data/tests/requests/zone_tests.rb +33 -0
  587. data/tests/signed_params_tests.rb +12 -0
  588. metadata +729 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 8738049c7f817e58dde92524277f4447a9ceae7f65667bea51e2081f23983b34
4
+ data.tar.gz: 20d649f6daa67c9da02e8553c681ce561031cdfdcb70ce79cad5fb511d29a051
5
+ SHA512:
6
+ metadata.gz: 8d601e943cb687eba8ffd740204e5153e1ebf89a8a6e3d35231f92737e42de96fe7097335004f51e507e1182f8bf4782d8224c5ae32c8ed3b3266f5054a69a56
7
+ data.tar.gz: 655c1f9f48afcacc1b856a31394decaa46b4bf39b3756cd441a9a49eeb2af364ac52ae2c4de999ba4e6542e39c861d532a6b795a2e7a37c3a3c40ec6a59807c6
@@ -0,0 +1,19 @@
1
+ *.gem
2
+ *.rbc
3
+ /.config
4
+ /pkg/
5
+ /spec/reports/
6
+ /spec/examples.txt
7
+ /tests/.fog
8
+ .fog
9
+ /.yardoc/
10
+ /_yardoc/
11
+ /doc/
12
+ /rdoc/
13
+ /.bundle/
14
+ /vendor/bundle
15
+ /lib/bundler/man/
16
+ Gemfile.lock
17
+ .ruby-version
18
+ .ruby-gemset
19
+ .rvmrc
@@ -0,0 +1,7 @@
1
+ ---
2
+ sudo: false
3
+ language: ruby
4
+ cache: bundler
5
+ rvm:
6
+ - 2.5.5
7
+ before_install: gem update bundler
@@ -0,0 +1,7 @@
1
+ ## 0.1.1 2018-05-30
2
+
3
+ * Migrated cloudstack tests from fog, added a changelog and a readme, and added parsing for "~" for the escape method.
4
+
5
+ ## 0.1.0 2018-05-30
6
+
7
+ * Migrated cloudstack provider files from fog, and updated them to work as a standalone gem.
@@ -0,0 +1,2 @@
1
+ * cloud.ca <infra@cloud.ca>
2
+ * Wesley Beary <geemus@gmail.com>
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "https://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in fog-cloudstack.gemspec
4
+ gemspec
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2019 [CONTRIBUTORS.md](https://github.com/fog/fog-cloudstack/blob/master/CONTRIBUTORS.md)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,37 @@
1
+ # Fog::Cloudstack
2
+
3
+ ## Installation
4
+
5
+ Add this line to your application's Gemfile:
6
+
7
+ ```ruby
8
+ gem 'fog-cloudstack'
9
+ ```
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install fog-cloudstack
18
+
19
+ ## Usage
20
+
21
+ ## Development
22
+
23
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
24
+
25
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
26
+
27
+ ## Contributing
28
+
29
+ 1. Fork it (http://github.com/fog/fog-cloudstack/fork)
30
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
31
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
32
+ 4. Push to the branch (`git push origin my-new-feature`)
33
+ 5. Create new Pull Request
34
+
35
+ ## License
36
+
37
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -0,0 +1,10 @@
1
+ require 'bundler/gem_tasks'
2
+
3
+ task :default => :test
4
+
5
+ mock = ENV['FOG_MOCK'] || 'true'
6
+ task :test do
7
+ Bundler.with_clean_env do
8
+ sh("export FOG_MOCK=#{mock} && bundle exec shindont")
9
+ end
10
+ end
@@ -0,0 +1,32 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'fog/cloudstack/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'fog-cloudstack'
8
+ spec.version = Fog::Cloudstack::VERSION
9
+ spec.authors = ['cloud.ca', 'geemus (Wesley Beary)']
10
+ spec.email = ['infra@cloud.ca', 'geemus@gmail.com']
11
+
12
+ spec.summary = %q{Module for the 'fog' gem to support Cloudstack}
13
+ spec.description = %q{Module for the 'fog' gem to support Cloudstack}
14
+ spec.homepage = 'https://github.com/fog/fog-cloudstack'
15
+ spec.license = 'MIT'
16
+
17
+ spec.files = `git ls-files -z`.split("\x0")
18
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
+ spec.require_paths = ['lib']
21
+
22
+ spec.required_ruby_version = '>=2.0.0'
23
+
24
+ spec.add_development_dependency 'bundler', '~> 2.0'
25
+ spec.add_development_dependency 'rake', '~> 10.0'
26
+ spec.add_development_dependency 'rubyzip', '~> 1.2.1'
27
+ spec.add_development_dependency 'shindo', '~> 0.3'
28
+
29
+ spec.add_dependency 'fog-core', '~> 2.1'
30
+ spec.add_dependency 'fog-json', '~> 1.1'
31
+ spec.add_dependency 'fog-xml', '~> 0.1'
32
+ end
@@ -0,0 +1,45 @@
1
+ require 'fog/core'
2
+ require 'fog/json'
3
+ require 'fog/xml'
4
+ require 'uri'
5
+
6
+ module Fog
7
+ module Cloudstack
8
+ autoload :Compute, File.expand_path('../cloudstack/compute', __FILE__)
9
+
10
+ extend Fog::Provider
11
+
12
+ service(:compute, 'Compute')
13
+
14
+ @@digest = OpenSSL::Digest.new('sha1')
15
+
16
+ def self.escape(string)
17
+ string = CGI::escape(string)
18
+ string = string.gsub("+","%20")
19
+ string = string.gsub("~","%7E")
20
+ # Escaped asterisk will cause malformed request
21
+ string = string.gsub("%2A","*")
22
+ string
23
+ end
24
+
25
+ def self.signed_params(key,params)
26
+ query = params.map{|k,v| [k.to_s, v]}.sort.map{|c| "#{c[0]}=#{escape(c[1].to_s)}"}.join('&').downcase
27
+
28
+ signed_string = Base64.encode64(OpenSSL::HMAC.digest(@@digest,key,query)).strip
29
+
30
+ signed_string
31
+ end
32
+
33
+ def self.uuid
34
+ [8,4,4,4,12].map{|i| Fog::Mock.random_hex(i)}.join("-")
35
+ end
36
+
37
+ def self.ip_address
38
+ 4.times.map{ Fog::Mock.random_numbers(3) }.join(".")
39
+ end
40
+
41
+ def self.mac_address
42
+ 6.times.map{ Fog::Mock.random_numbers(2) }.join(":")
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,995 @@
1
+ require 'digest/md5'
2
+
3
+ module Fog
4
+ module Cloudstack
5
+ class Compute < Fog::Service
6
+
7
+ class BadRequest < Fog::Cloudstack::Compute::Error; end
8
+ class Unauthorized < Fog::Cloudstack::Compute::Error; end
9
+
10
+ requires :cloudstack_host
11
+
12
+ recognizes :cloudstack_api_key, :cloudstack_secret_access_key, :cloudstack_session_key, :cloudstack_session_id,
13
+ :cloudstack_port, :cloudstack_path, :cloudstack_scheme, :cloudstack_persistent, :cloudstack_project_id
14
+
15
+ model_path 'fog/cloudstack/models/compute'
16
+ request_path 'fog/cloudstack/requests/compute'
17
+
18
+ model :address
19
+ model :disk_offering
20
+ collection :disk_offerings
21
+ model :egress_firewall_rule
22
+ collection :egress_firewall_rules
23
+ model :firewall_rule
24
+ collection :firewall_rules
25
+ model :flavor
26
+ collection :flavors
27
+ model :image
28
+ collection :images
29
+ model :job
30
+ collection :jobs
31
+ model :network
32
+ collection :networks
33
+ model :network_offering
34
+ collection :network_offerings
35
+ model :public_ip_address
36
+ collection :public_ip_addresses
37
+ model :port_forwarding_rule
38
+ collection :port_forwarding_rules
39
+ model :project
40
+ collection :projects
41
+ model :security_group
42
+ collection :security_groups
43
+ model :security_group_rule
44
+ collection :security_group_rules
45
+ model :server
46
+ collection :servers
47
+ model :volume
48
+ collection :volumes
49
+ model :snapshot
50
+ collection :snapshots
51
+ model :zone
52
+ collection :zones
53
+
54
+ request :activate_project
55
+ request :add_account_to_project
56
+ request :add_baremetal_dhcp
57
+ request :add_baremetal_host
58
+ request :add_baremetal_pxe_kick_start_server
59
+ request :add_baremetal_pxe_ping_server
60
+ request :add_big_switch_vns_device
61
+ request :add_cisco_asa1000v_resource
62
+ request :add_cisco_vnmc_resource
63
+ request :add_cluster
64
+ request :add_external_firewall
65
+ request :add_external_load_balancer
66
+ request :add_f5_load_balancer
67
+ request :add_guest_os
68
+ request :add_guest_os_mapping
69
+ request :add_host
70
+ request :add_image_store
71
+ request :add_ip_to_nic
72
+ request :add_ldap_configuration
73
+ request :add_netscaler_load_balancer
74
+ request :add_network_device
75
+ request :add_network_service_provider
76
+ request :add_nic_to_virtual_machine
77
+ request :add_nicira_nvp_device
78
+ request :add_open_daylight_controller
79
+ request :add_palo_alto_firewall
80
+ request :add_region
81
+ request :add_resource_detail
82
+ request :add_s3
83
+ request :add_secondary_storage
84
+ request :add_srx_firewall
85
+ request :add_stratosphere_ssp
86
+ request :add_swift
87
+ request :add_traffic_monitor
88
+ request :add_traffic_type
89
+ request :add_ucs_manager
90
+ request :add_vmware_dc
91
+ request :add_vpn_user
92
+ request :archive_alerts
93
+ request :archive_events
94
+ request :assign_cert_to_load_balancer
95
+ request :assign_to_global_load_balancer_rule
96
+ request :assign_to_load_balancer_rule
97
+ request :assign_virtual_machine
98
+ request :associate_ip_address
99
+ request :associate_ucs_profile_to_blade
100
+ request :attach_iso
101
+ request :attach_volume
102
+ request :authorize_security_group_egress
103
+ request :authorize_security_group_ingress
104
+ request :cancel_host_maintenance
105
+ request :cancel_storage_maintenance
106
+ request :change_service_for_router
107
+ request :change_service_for_system_vm
108
+ request :change_service_for_virtual_machine
109
+ request :clean_vmreservations
110
+ request :configure_f5_load_balancer
111
+ request :configure_internal_load_balancer_element
112
+ request :configure_netscaler_load_balancer
113
+ request :configure_ovs_element
114
+ request :configure_palo_alto_firewall
115
+ request :configure_srx_firewall
116
+ request :configure_virtual_router_element
117
+ request :copy_iso
118
+ request :copy_template
119
+ request :create_account
120
+ request :create_affinity_group
121
+ request :create_auto_scale_policy
122
+ request :create_auto_scale_vm_group
123
+ request :create_auto_scale_vm_profile
124
+ request :create_condition
125
+ request :create_counter
126
+ request :create_disk_offering
127
+ request :create_domain
128
+ request :create_egress_firewall_rule
129
+ request :create_firewall_rule
130
+ request :create_global_load_balancer_rule
131
+ request :create_instance_group
132
+ request :create_internal_load_balancer_element
133
+ request :create_ip_forwarding_rule
134
+ request :create_lb_health_check_policy
135
+ request :create_lb_stickiness_policy
136
+ request :create_load_balancer
137
+ request :create_load_balancer_rule
138
+ request :create_network
139
+ request :create_network_acl
140
+ request :create_network_acl_list
141
+ request :create_network_offering
142
+ request :create_physical_network
143
+ request :create_pod
144
+ request :create_port_forwarding_rule
145
+ request :create_portable_ip_range
146
+ request :create_private_gateway
147
+ request :create_project
148
+ request :create_remote_access_vpn
149
+ request :create_secondary_staging_store
150
+ request :create_security_group
151
+ request :create_service_instance
152
+ request :create_service_offering
153
+ request :create_snapshot
154
+ request :create_snapshot_policy
155
+ request :create_ssh_key_pair
156
+ request :create_static_route
157
+ request :create_storage_network_ip_range
158
+ request :create_storage_pool
159
+ request :create_tags
160
+ request :create_template
161
+ request :create_user
162
+ request :create_virtual_router_element
163
+ request :create_vlan_ip_range
164
+ request :create_vm_snapshot
165
+ request :create_volume
166
+ request :create_vpc
167
+ request :create_vpcoffering
168
+ request :create_vpn_connection
169
+ request :create_vpn_customer_gateway
170
+ request :create_vpn_gateway
171
+ request :create_zone
172
+ request :dedicate_cluster
173
+ request :dedicate_guest_vlan_range
174
+ request :dedicate_host
175
+ request :dedicate_pod
176
+ request :dedicate_public_ip_range
177
+ request :dedicate_zone
178
+ request :delete_account
179
+ request :delete_account_from_project
180
+ request :delete_affinity_group
181
+ request :delete_alerts
182
+ request :delete_auto_scale_policy
183
+ request :delete_auto_scale_vm_group
184
+ request :delete_auto_scale_vm_profile
185
+ request :delete_big_switch_vns_device
186
+ request :delete_cisco_asa1000v_resource
187
+ request :delete_cisco_nexus_vsm
188
+ request :delete_cisco_vnmc_resource
189
+ request :delete_cluster
190
+ request :delete_condition
191
+ request :delete_counter
192
+ request :delete_disk_offering
193
+ request :delete_domain
194
+ request :delete_egress_firewall_rule
195
+ request :delete_events
196
+ request :delete_external_firewall
197
+ request :delete_external_load_balancer
198
+ request :delete_f5_load_balancer
199
+ request :delete_firewall_rule
200
+ request :delete_global_load_balancer_rule
201
+ request :delete_host
202
+ request :delete_image_store
203
+ request :delete_instance_group
204
+ request :delete_ip_forwarding_rule
205
+ request :delete_iso
206
+ request :delete_lb_health_check_policy
207
+ request :delete_lb_stickiness_policy
208
+ request :delete_ldap_configuration
209
+ request :delete_load_balancer
210
+ request :delete_load_balancer_rule
211
+ request :delete_netscaler_load_balancer
212
+ request :delete_network
213
+ request :delete_network_acl
214
+ request :delete_network_acl_list
215
+ request :delete_network_device
216
+ request :delete_network_offering
217
+ request :delete_network_service_provider
218
+ request :delete_nicira_nvp_device
219
+ request :delete_open_daylight_controller
220
+ request :delete_palo_alto_firewall
221
+ request :delete_physical_network
222
+ request :delete_pod
223
+ request :delete_port_forwarding_rule
224
+ request :delete_portable_ip_range
225
+ request :delete_private_gateway
226
+ request :delete_project
227
+ request :delete_project_invitation
228
+ request :delete_remote_access_vpn
229
+ request :delete_secondary_staging_store
230
+ request :delete_security_group
231
+ request :delete_service_offering
232
+ request :delete_snapshot
233
+ request :delete_snapshot_policies
234
+ request :delete_srx_firewall
235
+ request :delete_ssh_key_pair
236
+ request :delete_ssl_cert
237
+ request :delete_static_route
238
+ request :delete_storage_network_ip_range
239
+ request :delete_storage_pool
240
+ request :delete_tags
241
+ request :delete_template
242
+ request :delete_traffic_monitor
243
+ request :delete_traffic_type
244
+ request :delete_user
245
+ request :delete_vlan_ip_range
246
+ request :delete_vm_snapshot
247
+ request :delete_volume
248
+ request :delete_vpc
249
+ request :delete_vpcoffering
250
+ request :delete_vpn_connection
251
+ request :delete_vpn_customer_gateway
252
+ request :delete_vpn_gateway
253
+ request :delete_zone
254
+ request :deploy_virtual_machine
255
+ request :destroy_router
256
+ request :destroy_system_vm
257
+ request :destroy_virtual_machine
258
+ request :detach_iso
259
+ request :detach_volume
260
+ request :disable_account
261
+ request :disable_auto_scale_vm_group
262
+ request :disable_cisco_nexus_vsm
263
+ request :disable_static_nat
264
+ request :disable_user
265
+ request :disassociate_ip_address
266
+ request :enable_account
267
+ request :enable_auto_scale_vm_group
268
+ request :enable_cisco_nexus_vsm
269
+ request :enable_static_nat
270
+ request :enable_storage_maintenance
271
+ request :enable_user
272
+ request :expunge_virtual_machine
273
+ request :extract_iso
274
+ request :extract_template
275
+ request :extract_volume
276
+ request :find_hosts_for_migration
277
+ request :find_storage_pools_for_migration
278
+ request :generate_alert
279
+ request :generate_usage_records
280
+ request :get_api_limit
281
+ request :get_cloud_identifier
282
+ request :get_user
283
+ request :get_virtual_machine_user_data
284
+ request :get_vm_password
285
+ request :import_ldap_users
286
+ request :ldap_create_account
287
+ request :list_accounts
288
+ request :list_affinity_group_types
289
+ request :list_affinity_groups
290
+ request :list_alerts
291
+ request :list_apis
292
+ request :list_async_jobs
293
+ request :list_auto_scale_policies
294
+ request :list_auto_scale_vm_groups
295
+ request :list_auto_scale_vm_profiles
296
+ request :list_baremetal_dhcp
297
+ request :list_baremetal_pxe_servers
298
+ request :list_big_switch_vns_devices
299
+ request :list_capabilities
300
+ request :list_capacity
301
+ request :list_cisco_asa1000v_resources
302
+ request :list_cisco_nexus_vsms
303
+ request :list_cisco_vnmc_resources
304
+ request :list_clusters
305
+ request :list_conditions
306
+ request :list_configurations
307
+ request :list_counters
308
+ request :list_dedicated_clusters
309
+ request :list_dedicated_guest_vlan_ranges
310
+ request :list_dedicated_hosts
311
+ request :list_dedicated_pods
312
+ request :list_dedicated_zones
313
+ request :list_deployment_planners
314
+ request :list_disk_offerings
315
+ request :list_domain_children
316
+ request :list_domains
317
+ request :list_egress_firewall_rules
318
+ request :list_event_types
319
+ request :list_events
320
+ request :list_external_firewalls
321
+ request :list_external_load_balancers
322
+ request :list_f5_load_balancer_networks
323
+ request :list_f5_load_balancers
324
+ request :list_firewall_rules
325
+ request :list_global_load_balancer_rules
326
+ request :list_guest_os_mapping
327
+ request :list_hosts
328
+ request :list_hypervisor_capabilities
329
+ request :list_hypervisors
330
+ request :list_image_stores
331
+ request :list_instance_groups
332
+ request :list_internal_load_balancer_elements
333
+ request :list_internal_load_balancer_vms
334
+ request :list_ip_forwarding_rules
335
+ request :list_iso_permissions
336
+ request :list_isos
337
+ request :list_lb_health_check_policies
338
+ request :list_lb_stickiness_policies
339
+ request :list_ldap_configurations
340
+ request :list_ldap_users
341
+ request :list_load_balancer_rule_instances
342
+ request :list_load_balancer_rules
343
+ request :list_load_balancers
344
+ request :list_netscaler_load_balancer_networks
345
+ request :list_netscaler_load_balancers
346
+ request :list_network_acl_lists
347
+ request :list_network_acls
348
+ request :list_network_device
349
+ request :list_network_isolation_methods
350
+ request :list_network_offerings
351
+ request :list_network_service_providers
352
+ request :list_networks
353
+ request :list_nicira_nvp_device_networks
354
+ request :list_nicira_nvp_devices
355
+ request :list_nics
356
+ request :list_open_daylight_controllers
357
+ request :list_os_categories
358
+ request :list_os_types
359
+ request :list_ovs_elements
360
+ request :list_palo_alto_firewall_networks
361
+ request :list_palo_alto_firewalls
362
+ request :list_physical_networks
363
+ request :list_pods
364
+ request :list_port_forwarding_rules
365
+ request :list_portable_ip_ranges
366
+ request :list_private_gateways
367
+ request :list_project_accounts
368
+ request :list_project_invitations
369
+ request :list_projects
370
+ request :list_public_ip_addresses
371
+ request :list_regions
372
+ request :list_remote_access_vpns
373
+ request :list_resource_details
374
+ request :list_resource_limits
375
+ request :list_routers
376
+ request :list_s3s
377
+ request :list_secondary_staging_stores
378
+ request :list_security_groups
379
+ request :list_service_offerings
380
+ request :list_snapshot_policies
381
+ request :list_snapshots
382
+ request :list_srx_firewall_networks
383
+ request :list_srx_firewalls
384
+ request :list_ssh_key_pairs
385
+ request :list_ssl_certs
386
+ request :list_static_routes
387
+ request :list_storage_network_ip_range
388
+ request :list_storage_pools
389
+ request :list_storage_providers
390
+ request :list_supported_network_services
391
+ request :list_swifts
392
+ request :list_system_vms
393
+ request :list_tags
394
+ request :list_template_permissions
395
+ request :list_templates
396
+ request :list_traffic_monitors
397
+ request :list_traffic_type_implementors
398
+ request :list_traffic_types
399
+ request :list_ucs_blades
400
+ request :list_ucs_managers
401
+ request :list_ucs_profiles
402
+ request :list_usage_records
403
+ request :list_usage_types
404
+ request :list_users
405
+ request :list_virtual_machines
406
+ request :list_virtual_router_elements
407
+ request :list_vlan_ip_ranges
408
+ request :list_vm_snapshot
409
+ request :list_vmware_dcs
410
+ request :list_volumes
411
+ request :list_vpc_offerings
412
+ request :list_vpcs
413
+ request :list_vpn_connections
414
+ request :list_vpn_customer_gateways
415
+ request :list_vpn_gateways
416
+ request :list_vpn_users
417
+ request :list_zones
418
+ request :lock_account
419
+ request :lock_user
420
+ request :mark_default_zone_for_account
421
+ request :migrate_system_vm
422
+ request :migrate_virtual_machine
423
+ request :migrate_virtual_machine_with_volume
424
+ request :migrate_volume
425
+ request :prepare_host_for_maintenance
426
+ request :prepare_template
427
+ request :query_async_job_result
428
+ request :reboot_router
429
+ request :reboot_system_vm
430
+ request :reboot_virtual_machine
431
+ request :reconnect_host
432
+ request :recover_virtual_machine
433
+ request :register_iso
434
+ request :register_ssh_key_pair
435
+ request :register_template
436
+ request :register_user_keys
437
+ request :release_dedicated_cluster
438
+ request :release_dedicated_guest_vlan_range
439
+ request :release_dedicated_host
440
+ request :release_dedicated_pod
441
+ request :release_dedicated_zone
442
+ request :release_host_reservation
443
+ request :release_public_ip_range
444
+ request :remove_cert_from_load_balancer
445
+ request :remove_from_global_load_balancer_rule
446
+ request :remove_from_load_balancer_rule
447
+ request :remove_guest_os
448
+ request :remove_guest_os_mapping
449
+ request :remove_ip_from_nic
450
+ request :remove_nic_from_virtual_machine
451
+ request :remove_region
452
+ request :remove_resource_detail
453
+ request :remove_vmware_dc
454
+ request :remove_vpn_user
455
+ request :replace_network_acl_list
456
+ request :reset_api_limit
457
+ request :reset_password_for_virtual_machine
458
+ request :reset_ssh_key_for_virtual_machine
459
+ request :reset_vpn_connection
460
+ request :resize_volume
461
+ request :restart_network
462
+ request :restart_vpc
463
+ request :restore_virtual_machine
464
+ request :revert_snapshot
465
+ request :revert_to_vm_snapshot
466
+ request :revoke_security_group_egress
467
+ request :revoke_security_group_ingress
468
+ request :scale_system_vm
469
+ request :scale_virtual_machine
470
+ request :start_internal_load_balancer_vm
471
+ request :start_router
472
+ request :start_system_vm
473
+ request :start_virtual_machine
474
+ request :stop_internal_load_balancer_vm
475
+ request :stop_router
476
+ request :stop_system_vm
477
+ request :stop_virtual_machine
478
+ request :suspend_project
479
+ request :update_account
480
+ request :update_auto_scale_policy
481
+ request :update_auto_scale_vm_group
482
+ request :update_auto_scale_vm_profile
483
+ request :update_cloud_to_use_object_store
484
+ request :update_cluster
485
+ request :update_configuration
486
+ request :update_default_nic_for_virtual_machine
487
+ request :update_disk_offering
488
+ request :update_domain
489
+ request :update_egress_firewall_rule
490
+ request :update_firewall_rule
491
+ request :update_global_load_balancer_rule
492
+ request :update_guest_os
493
+ request :update_guest_os_mapping
494
+ request :update_host
495
+ request :update_host_password
496
+ request :update_hypervisor_capabilities
497
+ request :update_instance_group
498
+ request :update_ip_address
499
+ request :update_iso
500
+ request :update_iso_permissions
501
+ request :update_lb_health_check_policy
502
+ request :update_lb_stickiness_policy
503
+ request :update_load_balancer
504
+ request :update_load_balancer_rule
505
+ request :update_network
506
+ request :update_network_acl_item
507
+ request :update_network_acl_list
508
+ request :update_network_offering
509
+ request :update_network_service_provider
510
+ request :update_physical_network
511
+ request :update_pod
512
+ request :update_port_forwarding_rule
513
+ request :update_project
514
+ request :update_project_invitation
515
+ request :update_region
516
+ request :update_remote_access_vpn
517
+ request :update_resource_count
518
+ request :update_resource_limit
519
+ request :update_service_offering
520
+ request :update_storage_network_ip_range
521
+ request :update_storage_pool
522
+ request :update_template
523
+ request :update_template_permissions
524
+ request :update_traffic_type
525
+ request :update_user
526
+ request :update_virtual_machine
527
+ request :update_vm_affinity_group
528
+ request :update_volume
529
+ request :update_vpc
530
+ request :update_vpcoffering
531
+ request :update_vpn_connection
532
+ request :update_vpn_customer_gateway
533
+ request :update_vpn_gateway
534
+ request :update_zone
535
+ request :upgrade_router_template
536
+ request :upload_custom_certificate
537
+ request :upload_ssl_cert
538
+ request :upload_volume
539
+
540
+
541
+ class Real
542
+
543
+ def initialize(options={})
544
+ @cloudstack_api_key = options[:cloudstack_api_key]
545
+ @cloudstack_secret_access_key = options[:cloudstack_secret_access_key]
546
+ @cloudstack_session_id = options[:cloudstack_session_id]
547
+ @cloudstack_session_key = options[:cloudstack_session_key]
548
+ @cloudstack_project_id = options[:cloudstack_project_id]
549
+ @host = options[:cloudstack_host]
550
+ @path = options[:cloudstack_path] || '/client/api'
551
+ @port = options[:cloudstack_port] || 443
552
+ @scheme = options[:cloudstack_scheme] || 'https'
553
+ @connection = Fog::XML::Connection.new("#{@scheme}://#{@host}:#{@port}#{@path}", options[:cloudstack_persistent], {:ssl_verify_peer => false})
554
+ end
555
+
556
+ def reload
557
+ @connection.reset
558
+ end
559
+
560
+ def login(username,password,domain)
561
+ response = issue_request({
562
+ 'response' => 'json',
563
+ 'command' => 'login',
564
+ 'username' => username,
565
+ 'password' => Digest::MD5.hexdigest(password),
566
+ 'domain' => domain
567
+ })
568
+
569
+ # Parse response cookies to retrive JSESSIONID token
570
+ cookies = CGI::Cookie.parse(response.headers['Set-Cookie'])
571
+ sessionid = cookies['JSESSIONID'].first
572
+
573
+ # Decode the login response
574
+ response = Fog::JSON.decode(response.body)
575
+
576
+ user = response['loginresponse']
577
+ user.merge!('sessionid' => sessionid)
578
+
579
+ @cloudstack_session_id = user['sessionid']
580
+ @cloudstack_session_key = user['sessionkey']
581
+
582
+ user
583
+ end
584
+
585
+ def request(params)
586
+ params.reject!{|k,v| v.nil?}
587
+
588
+ params.merge!('response' => 'json')
589
+
590
+ if has_session?
591
+ params, headers = authorize_session(params)
592
+ elsif has_keys?
593
+ params, headers = authorize_api_keys(params)
594
+ end
595
+
596
+ response = issue_request(params,headers)
597
+ response = Fog::JSON.decode(response.body) unless response.body.empty?
598
+ response
599
+ end
600
+
601
+ private
602
+ def has_session?
603
+ @cloudstack_session_id && @cloudstack_session_key
604
+ end
605
+
606
+ def has_keys?
607
+ @cloudstack_api_key && @cloudstack_secret_access_key
608
+ end
609
+
610
+ def authorize_session(params)
611
+ # set the session id cookie for the request
612
+ headers = {'Cookie' => "JSESSIONID=#{@cloudstack_session_id};"}
613
+ # set the sesion key for the request, params are not signed using session auth
614
+ params.merge!('sessionkey' => @cloudstack_session_key)
615
+
616
+ return params, headers
617
+ end
618
+
619
+ def authorize_api_keys(params)
620
+ headers = {}
621
+ # merge the api key into the params
622
+ params.merge!('apiKey' => @cloudstack_api_key)
623
+ # sign the request parameters
624
+ signature = Fog::Cloudstack.signed_params(@cloudstack_secret_access_key,params)
625
+ # merge signature into request param
626
+ params.merge!({'signature' => signature})
627
+
628
+ return params, headers
629
+ end
630
+
631
+ def issue_request(params={},headers={},method='GET',expects=200)
632
+ begin
633
+ @connection.request({
634
+ :query => params,
635
+ :headers => headers,
636
+ :method => method,
637
+ :expects => expects
638
+ })
639
+
640
+ rescue Excon::Errors::HTTPStatusError => error
641
+ error_response = Fog::JSON.decode(error.response.body)
642
+
643
+ error_code = error_response.values.first['errorcode']
644
+ error_text = error_response.values.first['errortext']
645
+
646
+ case error_code
647
+ when 401
648
+ raise Fog::Cloudstack::Compute::Unauthorized, error_text
649
+ when 431
650
+ raise Fog::Cloudstack::Compute::BadRequest, error_text
651
+ else
652
+ raise Fog::Cloudstack::Compute::Error, error_text
653
+ end
654
+ end
655
+
656
+ end
657
+ end # Real
658
+
659
+ class Mock
660
+ def initialize(options={})
661
+ @cloudstack_api_key = options[:cloudstack_api_key]
662
+ @cloudstack_project_id = Fog.credentials[:cloudstack_project_id] || Fog::Cloudstack.uuid
663
+ end
664
+
665
+ def self.data
666
+ @data ||= begin
667
+ zone_id = Fog.credentials[:cloudstack_zone_id] || Fog::Cloudstack.uuid
668
+ image_id = Fog.credentials[:cloudstack_template_id] || Fog::Cloudstack.uuid
669
+ flavor_id = Fog.credentials[:cloudstack_service_offering_id] || Fog::Cloudstack.uuid
670
+ network_id = (Array(Fog.credentials[:cloudstack_network_ids]) || [Fog::Cloudstack.uuid]).first
671
+ domain_name = "exampleorg"
672
+ account_id, user_id, domain_id = Fog::Cloudstack.uuid, Fog::Cloudstack.uuid, Fog::Cloudstack.uuid
673
+ domain = {
674
+ "id" => domain_id,
675
+ "name" => domain_name,
676
+ "level" => 1,
677
+ "parentdomainid" => Fog::Cloudstack.uuid,
678
+ "parentdomainname" => "ROOT",
679
+ "haschild" => false,
680
+ "path" => "ROOT/accountname"
681
+ }
682
+ user = {
683
+ "id" => user_id,
684
+ "username" => "username",
685
+ "firstname" => "Bob",
686
+ "lastname" => "Lastname",
687
+ "email" => "email@example.com",
688
+ "created" => "2012-05-14T16:25:17-0500",
689
+ "state" => "enabled",
690
+ "account" => "accountname",
691
+ "accounttype" => 2,
692
+ "domainid" => domain_id,
693
+ "domain" => domain_name,
694
+ "apikey" => Fog::Cloudstack.uuid,
695
+ "secretkey" => Fog::Cloudstack.uuid
696
+ }
697
+ {
698
+ :users => { user_id => user },
699
+ :networks => { network_id => {
700
+ "id" => network_id,
701
+ "name" => "10.56.23.0/26",
702
+ "displaytext" => "10.56.23.0/26",
703
+ "broadcastdomaintype" => "Vlan",
704
+ "traffictype" => "Guest",
705
+ "gateway" => "10.56.23.1",
706
+ "netmask" => "255.255.255.192",
707
+ "cidr" => "10.56.23.0/26",
708
+ "zoneid" => zone_id,
709
+ "zonename" => "zone-00",
710
+ "networkofferingid" => "af0c9bd5-a1b2-4ad0-bf4b-d6fa9b1b9d5b",
711
+ "networkofferingname" => "DefaultSharedNetworkOffering",
712
+ "networkofferingdisplaytext" => "Offering for Shared networks",
713
+ "networkofferingavailability" => "Optional",
714
+ "issystem" => false,
715
+ "state" => "Setup",
716
+ "related" => "86bbc9fc-d92e-49db-9fdc-296189090017",
717
+ "broadcasturi" => "vlan://800",
718
+ "dns1" => "10.0.80.11",
719
+ "type" => "Shared",
720
+ "vlan" => "800",
721
+ "acltype" => "Domain",
722
+ "subdomainaccess" => true,
723
+ "domainid" => domain_id,
724
+ "domain" => "ROOT",
725
+ "service" => [
726
+ {"name" => "UserData"},
727
+ {"name" => "Dhcp"},
728
+ {
729
+ "name" => "Dns",
730
+ "capability" => [
731
+ {
732
+ "name" => "AllowDnsSuffixModification",
733
+ "value" => "true",
734
+ "canchooseservicecapability" => false
735
+ }
736
+ ]
737
+ }],
738
+ "networkdomain" => "cs1cloud.internal",
739
+ "physicalnetworkid" => "8f4627c5-1fdd-4504-8a92-f61b4e9cb3e3",
740
+ "restartrequired" => false,
741
+ "specifyipranges" => true}
742
+ },
743
+ :public_ip_addresses => { "0e276270-7950-4483-bf21-3dc897dbe08a" => {
744
+ "id" => "0e276270-7950-4483-bf21-3dc897dbe08a",
745
+ "ipaddress" => "192.168.200.2",
746
+ "allocated" => "2014-11-26T22:32:39+0000",
747
+ "zoneid" => "0e276270-7950-4483-bf21-3dc897dbe08a",
748
+ "zonename" => "Toronto",
749
+ "issourcenat" => false,
750
+ "projectid" => "f1f1f1f1-f1f1-f1f1-f1f1-f1f1f1f1f1",
751
+ "project" => "TestProject",
752
+ "domainid" => "f1f1f1f1-f1f1-f1f1-f1f1-f1f1f1f1f1",
753
+ "domain" => "TestDomain",
754
+ "forvirtualnetwork" => true,
755
+ "isstaticnat" => false,
756
+ "issystem" => false,
757
+ "associatednetworkid" => "f1f1f1f1-f1f1-f1f1-f1f1-f1f1f1f1f1",
758
+ "associatednetworkname" => "TestNetwork",
759
+ "networkid" => "f1f1f1f1-f1f1-f1f1-f1f1-f1f1f1f1f1",
760
+ "state" => "Allocated",
761
+ "physicalnetworkid" => "f1f1f1f1-f1f1-f1f1-f1f1-f1f1f1f1f1",
762
+ "tags" => []
763
+ }},
764
+ :zones => { zone_id => {
765
+ "id" => zone_id,
766
+ "name" => "zone-00",
767
+ "domainid" => 1,
768
+ "domainname" => "ROOT",
769
+ "networktype" => "Advanced",
770
+ "securitygroupsenabled" => false,
771
+ "allocationstate" => "Enabled",
772
+ "zonetoken" => Fog::Cloudstack.uuid,
773
+ "dhcpprovider" => "VirtualRouter"}},
774
+ :images => { image_id => {
775
+ "id" => image_id,
776
+ "name" => "CentOS 5.6(64-bit) no GUI (XenServer)",
777
+ "displaytext" => "CentOS 5.6(64-bit) no GUI (XenServer)",
778
+ "ispublic" => true,
779
+ "created" => "2012-05-09T15:29:33-0500",
780
+ "isready" => true,
781
+ "passwordenabled" => false,
782
+ "format" => "VHD",
783
+ "isfeatured" => true,
784
+ "crossZones" => true,
785
+ "ostypeid" => "a6a6694a-18f5-4765-8418-2b7a5f37cd0f",
786
+ "ostypename" => "CentOS 5.3 (64-bit)",
787
+ "account" => "system",
788
+ "zoneid" => zone_id,
789
+ "zonename" => "zone-00",
790
+ "status" => "Download Complete",
791
+ "size" => 21474836480,
792
+ "templatetype" => "BUILTIN",
793
+ "domain" => "ROOT",
794
+ "domainid" => "6023b6fe-5bef-4358-bc76-9f4e75afa52f",
795
+ "isextractable" => true,
796
+ "checksum" => "905cec879afd9c9d22ecc8036131a180",
797
+ "hypervisor" => "Xen"
798
+ }},
799
+ :flavors => { flavor_id => {
800
+ "id" => flavor_id,
801
+ "name" => "Medium Instance",
802
+ "displaytext" => "Medium Instance",
803
+ "cpunumber" => 1,
804
+ "cpuspeed" => 1000,
805
+ "memory" => 1024,
806
+ "created" => "2012-05-09T14:48:36-0500",
807
+ "storagetype" => "shared",
808
+ "offerha" => false,
809
+ "limitcpuuse" => false,
810
+ "issystem" => false,
811
+ "defaultuse" => false
812
+ }},
813
+ :accounts => { account_id => {
814
+ "id" => account_id,
815
+ "name" => "accountname",
816
+ "accounttype" => 2,
817
+ "domainid" => domain_id,
818
+ "domain" => domain_name,
819
+ "receivedbytes" => 0,
820
+ "sentbytes" => 0,
821
+ "vmlimit" => "Unlimited",
822
+ "vmtotal" => 0,
823
+ "vmavailable" => "Unlimited",
824
+ "iplimit" => "Unlimited",
825
+ "iptotal" => 0,
826
+ "ipavailable" => "Unlimited",
827
+ "volumelimit" => "Unlimited",
828
+ "volumetotal" => 0,
829
+ "volumeavailable" => "Unlimited",
830
+ "snapshotlimit" => "Unlimited",
831
+ "snapshottotal" => 0,
832
+ "snapshotavailable" => "Unlimited",
833
+ "templatelimit" => "Unlimited",
834
+ "templatetotal" => 0,
835
+ "templateavailable" => "Unlimited",
836
+ "vmstopped" => 0,
837
+ "vmrunning" => 0,
838
+ "projectlimit" => "Unlimited",
839
+ "projecttotal" => 1,
840
+ "projectavailable" => "Unlimited",
841
+ "networklimit" => "Unlimited",
842
+ "networktotal" => 0,
843
+ "networkavailable" => "Unlimited",
844
+ "state" => "enabled",
845
+ "user" => [user]}
846
+ },
847
+ :domains => {domain_id => domain},
848
+ :servers => {},
849
+ :jobs => {},
850
+ :volumes => {
851
+ "89198f7c-0245-aa1d-136a-c5f479ef9db7" => {
852
+ "id"=> "89198f7c-0245-aa1d-136a-c5f479ef9db7",
853
+ "name"=>"test volume",
854
+ "zoneid"=> zone_id,
855
+ "zonename"=>"zone-00",
856
+ "type"=>"DATADISK",
857
+ "deviceid"=>1,
858
+ "virtualmachineid"=> "51dcffee-5f9f-29a4-acee-2717e1a3656b",
859
+ "vmname"=>"i-2824-11621-VM",
860
+ "vmdisplayname"=>"test vm",
861
+ "vmstate"=>"Running",
862
+ "size"=>17179869184,
863
+ "created"=>"2013-04-16T12:33:41+0000",
864
+ "state"=>"Ready",
865
+ "account"=> 'accountname',
866
+ "domainid"=> domain_id,
867
+ "domain"=> domain_name,
868
+ "storagetype"=>"shared",
869
+ "hypervisor"=>"KVM",
870
+ "diskofferingid"=> "cc4de87d-672d-4353-abb5-6a8a4c0abf59",
871
+ "diskofferingname"=>"Small Disk",
872
+ "diskofferingdisplaytext"=>"Small Disk [16GB Disk]",
873
+ "storage"=>"ps1",
874
+ "attached"=>"2013-04-16T12:34:07+0000",
875
+ "destroyed"=>false,
876
+ "isextractable"=>false
877
+ },
878
+ },
879
+ :security_groups => {},
880
+ :snapshots => {},
881
+ :disk_offerings => {
882
+ "cc4de87d-672d-4353-abb5-6a8a4c0abf59" => {
883
+ "id" => "cc4de87d-672d-4353-abb5-6a8a4c0abf59",
884
+ "domainid" => domain_id,
885
+ "domain" => domain_name,
886
+ "name" => "Small Disk",
887
+ "displaytext" => "Small Disk [16GB Disk]",
888
+ "disksize" => 16,
889
+ "created" => "2013-02-21T03:12:520300",
890
+ "iscustomized" => false,
891
+ "storagetype" => "shared"
892
+ },
893
+ "d5deeb0c-de03-4ebf-820a-dc74221bcaeb" => {
894
+ "id" => "d5deeb0c-de03-4ebf-820a-dc74221bcaeb",
895
+ "domainid" => domain_id,
896
+ "domain" => domain_name,
897
+ "name" => "Medium Disk",
898
+ "displaytext" => "Medium Disk [32GB Disk]",
899
+ "disksize" => 32,
900
+ "created" => "2013-02-21T03:12:520300",
901
+ "iscustomized" => false,
902
+ "storagetype" => "shared"
903
+ }
904
+ },
905
+ :network_offerings => {
906
+ "cc4de87d-672d-4353-abb5-6a8a4c0abf59" => {
907
+ "id" => "cc4de87d-672d-4353-abb5-6a8a4c0abf59",
908
+ "name" => "Shared Network With Security Groups",
909
+ "displaytext" => "Shared Network With Security Groups",
910
+ "traffictype" => "Guest",
911
+ "isdefault" => true,
912
+ "specifyvlan" => true,
913
+ "conservemode" => true,
914
+ "specifyipranges" => true,
915
+ "availability" => "Optional",
916
+ "networkrate" => 200,
917
+ "state" => "Enabled",
918
+ "guestiptype" => "Shared",
919
+ "serviceofferingid" => "f1f1f1f1-f1f1-f1f1-f1f1-f1f1f1f1f1"
920
+ }
921
+ },
922
+ :firewall_rules => {
923
+ "f1f1f1f1-f1f1-f1f1-f1f1-f1f1f1f1f1" => {
924
+ "id"=> "f1f1f1f1-f1f1-f1f1-f1f1-f1f1f1f1f1",
925
+ "protocol"=> "tcp",
926
+ "startport" => "443",
927
+ "endport" => "443",
928
+ "ipaddressid" => "f1f1f1f1-f1f1-f1f1-f1f1-f1f1f1f1f1",
929
+ "networkid"=> "31c4b26e-4be9-11e4-8304-00163e5b5f54",
930
+ "ipaddress" => "192.168.200.1",
931
+ "state" => "Active",
932
+ "cidrlist" => "255.255.255.0/24",
933
+ "tags" => []
934
+ }
935
+ },
936
+ :egress_firewall_rules => {
937
+ "f1f1f1f1-f1f1-f1f1-f1f1-f1f1f1f1f1" => {
938
+ "id"=>"f1f1f1f1-f1f1-f1f1-f1f1-f1f1f1f1f1",
939
+ "protocol"=>"tcp",
940
+ "networkid"=> "31c4b26e-4be9-11e4-8304-00163e5b5f54",
941
+ "state"=>"Active",
942
+ "cidrlist"=>"10.2.1.0/24",
943
+ "tags"=>[]
944
+ }
945
+ },
946
+ :port_forwarding_rules => {
947
+ "8f4627c5-1fdd-4504-8a92-f61b4e9cb3e3" => {
948
+ 'id' => "8f4627c5-1fdd-4504-8a92-f61b4e9cb3e3",
949
+ 'privateport' => "25",
950
+ 'privateendport' => "25",
951
+ 'protocol' => "tcp",
952
+ 'publicport' => "25",
953
+ 'publicendport' => "25",
954
+ 'virtualmachineid' => "8f4627c5-1fdd-4504-8a92-f61b4e9cb3e3",
955
+ 'virtualmachinename' => "LoadBalancer",
956
+ 'virtualmachinedisplayname' => "LoadBalancer",
957
+ 'ipaddressid' => "f1f1f1f1-f1f1-f1f1-f1f1-f1f1f1f1f1",
958
+ 'ipaddress' => "192.168.200.200",
959
+ 'state' => "Active",
960
+ 'cidrlist' => "",
961
+ 'tags' => []
962
+ }
963
+ },
964
+ :os_types => {
965
+ "51ef854d-279e-4e68-9059-74980fd7b29b" => {
966
+ "id" => "51ef854d-279e-4e68-9059-74980fd7b29b",
967
+ "oscategoryid" => "56f67279-e082-45c3-a01c-d290d6cd4ce2",
968
+ "description" => "Asianux 3(32-bit)"
969
+ },
970
+ "daf124c8-95d8-4756-8e1c-1871b073babb" => {
971
+ "id" => "daf124c8-95d8-4756-8e1c-1871b073babb",
972
+ "oscategoryid" => "56f67279-e082-45c3-a01c-d290d6cd4ce2",
973
+ "description" => "Asianux 3(64-bit)"
974
+ }
975
+ }
976
+ }
977
+ end
978
+ end
979
+
980
+ def self.reset
981
+ @data = nil
982
+ end
983
+
984
+ def data
985
+ self.class.data
986
+ end
987
+
988
+ def reset_data
989
+ self.class.data.delete(@cloudstack_api_key)
990
+ end
991
+
992
+ end
993
+ end # Compute
994
+ end # Cloudstack
995
+ end # Fog