fog-cloudstack 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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