fog-oracle 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (300) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +16 -0
  3. data/.ruby-gemset +1 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.md +20 -0
  6. data/README.md +3 -0
  7. data/Rakefile +16 -0
  8. data/fog-oracle.gemspec +27 -0
  9. data/lib/fog/bin/oracle.rb +29 -0
  10. data/lib/fog/oracle.rb +1 -0
  11. data/lib/fog/oracle/compute.rb +320 -0
  12. data/lib/fog/oracle/core.rb +92 -0
  13. data/lib/fog/oracle/models/associations.rb +89 -0
  14. data/lib/fog/oracle/models/collection.rb +47 -0
  15. data/lib/fog/oracle/models/compute/access_group.rb +18 -0
  16. data/lib/fog/oracle/models/compute/access_group_type.rb +8 -0
  17. data/lib/fog/oracle/models/compute/access_groups.rb +22 -0
  18. data/lib/fog/oracle/models/compute/access_host.rb +14 -0
  19. data/lib/fog/oracle/models/compute/access_hosts.rb +22 -0
  20. data/lib/fog/oracle/models/compute/affinity_group.rb +15 -0
  21. data/lib/fog/oracle/models/compute/affinity_groups.rb +22 -0
  22. data/lib/fog/oracle/models/compute/affinity_type.rb +9 -0
  23. data/lib/fog/oracle/models/compute/archive_management_attributes.rb +16 -0
  24. data/lib/fog/oracle/models/compute/archive_management_attributeses.rb +22 -0
  25. data/lib/fog/oracle/models/compute/assemblies.rb +22 -0
  26. data/lib/fog/oracle/models/compute/assembly.rb +15 -0
  27. data/lib/fog/oracle/models/compute/assembly_virtual_disk.rb +15 -0
  28. data/lib/fog/oracle/models/compute/assembly_virtual_disks.rb +22 -0
  29. data/lib/fog/oracle/models/compute/assembly_vm.rb +12 -0
  30. data/lib/fog/oracle/models/compute/assembly_vms.rb +22 -0
  31. data/lib/fog/oracle/models/compute/backing_device_type.rb +12 -0
  32. data/lib/fog/oracle/models/compute/backup_management_attributes.rb +14 -0
  33. data/lib/fog/oracle/models/compute/backup_management_attributeses.rb +22 -0
  34. data/lib/fog/oracle/models/compute/base_object.rb +26 -0
  35. data/lib/fog/oracle/models/compute/bond_mode.rb +9 -0
  36. data/lib/fog/oracle/models/compute/business_selection.rb +13 -0
  37. data/lib/fog/oracle/models/compute/business_selections.rb +22 -0
  38. data/lib/fog/oracle/models/compute/clone_target_type.rb +9 -0
  39. data/lib/fog/oracle/models/compute/clone_type.rb +9 -0
  40. data/lib/fog/oracle/models/compute/cluster.rb +15 -0
  41. data/lib/fog/oracle/models/compute/cluster_heartbeat_device.rb +16 -0
  42. data/lib/fog/oracle/models/compute/cluster_heartbeat_devices.rb +22 -0
  43. data/lib/fog/oracle/models/compute/cluster_heartbeat_storage_type.rb +9 -0
  44. data/lib/fog/oracle/models/compute/cluster_storage_fs.rb +11 -0
  45. data/lib/fog/oracle/models/compute/cluster_storage_fses.rb +22 -0
  46. data/lib/fog/oracle/models/compute/clusters.rb +22 -0
  47. data/lib/fog/oracle/models/compute/comparison_type.rb +12 -0
  48. data/lib/fog/oracle/models/compute/comparison_types.rb +22 -0
  49. data/lib/fog/oracle/models/compute/control_domain.rb +22 -0
  50. data/lib/fog/oracle/models/compute/control_domains.rb +22 -0
  51. data/lib/fog/oracle/models/compute/cpu.rb +19 -0
  52. data/lib/fog/oracle/models/compute/cpu_compatibility_group.rb +11 -0
  53. data/lib/fog/oracle/models/compute/cpu_compatibility_groups.rb +22 -0
  54. data/lib/fog/oracle/models/compute/cpus.rb +22 -0
  55. data/lib/fog/oracle/models/compute/disk_type.rb +8 -0
  56. data/lib/fog/oracle/models/compute/disk_write_mode.rb +8 -0
  57. data/lib/fog/oracle/models/compute/equality_type.rb +14 -0
  58. data/lib/fog/oracle/models/compute/ethernet_port.rb +23 -0
  59. data/lib/fog/oracle/models/compute/ethernet_ports.rb +22 -0
  60. data/lib/fog/oracle/models/compute/event.rb +18 -0
  61. data/lib/fog/oracle/models/compute/event_field.rb +14 -0
  62. data/lib/fog/oracle/models/compute/event_management_attributes.rb +11 -0
  63. data/lib/fog/oracle/models/compute/event_management_attributeses.rb +22 -0
  64. data/lib/fog/oracle/models/compute/event_queries.rb +22 -0
  65. data/lib/fog/oracle/models/compute/event_query.rb +22 -0
  66. data/lib/fog/oracle/models/compute/event_severity.rb +10 -0
  67. data/lib/fog/oracle/models/compute/events.rb +22 -0
  68. data/lib/fog/oracle/models/compute/file_server.rb +21 -0
  69. data/lib/fog/oracle/models/compute/file_server_plugin.rb +21 -0
  70. data/lib/fog/oracle/models/compute/file_server_plugins.rb +22 -0
  71. data/lib/fog/oracle/models/compute/file_server_type.rb +9 -0
  72. data/lib/fog/oracle/models/compute/file_servers.rb +22 -0
  73. data/lib/fog/oracle/models/compute/file_system.rb +22 -0
  74. data/lib/fog/oracle/models/compute/file_system_mount.rb +15 -0
  75. data/lib/fog/oracle/models/compute/file_system_mounts.rb +22 -0
  76. data/lib/fog/oracle/models/compute/file_systems.rb +22 -0
  77. data/lib/fog/oracle/models/compute/hypervisor.rb +13 -0
  78. data/lib/fog/oracle/models/compute/hypervisor_capability.rb +12 -0
  79. data/lib/fog/oracle/models/compute/hypervisor_type.rb +9 -0
  80. data/lib/fog/oracle/models/compute/hypervisors.rb +22 -0
  81. data/lib/fog/oracle/models/compute/ipaddress.rb +14 -0
  82. data/lib/fog/oracle/models/compute/ipaddress_config_type.rb +10 -0
  83. data/lib/fog/oracle/models/compute/ipaddress_type.rb +9 -0
  84. data/lib/fog/oracle/models/compute/ipaddresses.rb +22 -0
  85. data/lib/fog/oracle/models/compute/job.rb +26 -0
  86. data/lib/fog/oracle/models/compute/job_error.rb +12 -0
  87. data/lib/fog/oracle/models/compute/job_error_type.rb +18 -0
  88. data/lib/fog/oracle/models/compute/job_errors.rb +22 -0
  89. data/lib/fog/oracle/models/compute/job_management_attributes.rb +12 -0
  90. data/lib/fog/oracle/models/compute/job_management_attributeses.rb +22 -0
  91. data/lib/fog/oracle/models/compute/job_run_state.rb +13 -0
  92. data/lib/fog/oracle/models/compute/jobs.rb +22 -0
  93. data/lib/fog/oracle/models/compute/key_value_pair.rb +12 -0
  94. data/lib/fog/oracle/models/compute/key_value_pairs.rb +22 -0
  95. data/lib/fog/oracle/models/compute/log_level.rb +13 -0
  96. data/lib/fog/oracle/models/compute/logger_management_attributes.rb +14 -0
  97. data/lib/fog/oracle/models/compute/logger_management_attributeses.rb +22 -0
  98. data/lib/fog/oracle/models/compute/login_certificate.rb +13 -0
  99. data/lib/fog/oracle/models/compute/login_certificates.rb +22 -0
  100. data/lib/fog/oracle/models/compute/mac_management_attributes.rb +13 -0
  101. data/lib/fog/oracle/models/compute/mac_management_attributeses.rb +22 -0
  102. data/lib/fog/oracle/models/compute/manager.rb +14 -0
  103. data/lib/fog/oracle/models/compute/manager_run_state.rb +10 -0
  104. data/lib/fog/oracle/models/compute/managers.rb +22 -0
  105. data/lib/fog/oracle/models/compute/network.rb +17 -0
  106. data/lib/fog/oracle/models/compute/networks.rb +22 -0
  107. data/lib/fog/oracle/models/compute/order_type.rb +8 -0
  108. data/lib/fog/oracle/models/compute/package_signature_type.rb +9 -0
  109. data/lib/fog/oracle/models/compute/package_type.rb +8 -0
  110. data/lib/fog/oracle/models/compute/password_change.rb +13 -0
  111. data/lib/fog/oracle/models/compute/password_changes.rb +22 -0
  112. data/lib/fog/oracle/models/compute/path_state.rb +9 -0
  113. data/lib/fog/oracle/models/compute/periodic_task.rb +12 -0
  114. data/lib/fog/oracle/models/compute/periodic_tasks.rb +22 -0
  115. data/lib/fog/oracle/models/compute/policy_mode.rb +9 -0
  116. data/lib/fog/oracle/models/compute/port_state.rb +9 -0
  117. data/lib/fog/oracle/models/compute/port_type.rb +10 -0
  118. data/lib/fog/oracle/models/compute/processor_type.rb +10 -0
  119. data/lib/fog/oracle/models/compute/qos_value.rb +13 -0
  120. data/lib/fog/oracle/models/compute/qos_values.rb +22 -0
  121. data/lib/fog/oracle/models/compute/repositories.rb +22 -0
  122. data/lib/fog/oracle/models/compute/repository.rb +18 -0
  123. data/lib/fog/oracle/models/compute/repository_export.rb +16 -0
  124. data/lib/fog/oracle/models/compute/repository_export_fs_type.rb +7 -0
  125. data/lib/fog/oracle/models/compute/repository_exports.rb +22 -0
  126. data/lib/fog/oracle/models/compute/repository_import.rb +12 -0
  127. data/lib/fog/oracle/models/compute/repository_imports.rb +22 -0
  128. data/lib/fog/oracle/models/compute/resource_group.rb +12 -0
  129. data/lib/fog/oracle/models/compute/resource_group_type.rb +8 -0
  130. data/lib/fog/oracle/models/compute/resource_groups.rb +22 -0
  131. data/lib/fog/oracle/models/compute/role.rb +11 -0
  132. data/lib/fog/oracle/models/compute/server.rb +60 -0
  133. data/lib/fog/oracle/models/compute/server_abilities.rb +34 -0
  134. data/lib/fog/oracle/models/compute/server_abilitieses.rb +22 -0
  135. data/lib/fog/oracle/models/compute/server_controller.rb +15 -0
  136. data/lib/fog/oracle/models/compute/server_controller_type.rb +7 -0
  137. data/lib/fog/oracle/models/compute/server_controllers.rb +22 -0
  138. data/lib/fog/oracle/models/compute/server_event_attributes.rb +11 -0
  139. data/lib/fog/oracle/models/compute/server_event_attributeses.rb +22 -0
  140. data/lib/fog/oracle/models/compute/server_pool.rb +23 -0
  141. data/lib/fog/oracle/models/compute/server_pool_network_policies.rb +22 -0
  142. data/lib/fog/oracle/models/compute/server_pool_network_policy.rb +14 -0
  143. data/lib/fog/oracle/models/compute/server_pool_policies.rb +22 -0
  144. data/lib/fog/oracle/models/compute/server_pool_policy.rb +17 -0
  145. data/lib/fog/oracle/models/compute/server_pools.rb +22 -0
  146. data/lib/fog/oracle/models/compute/server_role.rb +9 -0
  147. data/lib/fog/oracle/models/compute/server_run_state.rb +11 -0
  148. data/lib/fog/oracle/models/compute/server_update_configuration.rb +14 -0
  149. data/lib/fog/oracle/models/compute/server_update_configurations.rb +22 -0
  150. data/lib/fog/oracle/models/compute/server_update_repository_configuration.rb +16 -0
  151. data/lib/fog/oracle/models/compute/server_update_repository_configurations.rb +22 -0
  152. data/lib/fog/oracle/models/compute/server_update_repository_type.rb +8 -0
  153. data/lib/fog/oracle/models/compute/servers.rb +22 -0
  154. data/lib/fog/oracle/models/compute/session_properties.rb +11 -0
  155. data/lib/fog/oracle/models/compute/session_propertieses.rb +22 -0
  156. data/lib/fog/oracle/models/compute/statistic.rb +18 -0
  157. data/lib/fog/oracle/models/compute/statistic_field.rb +12 -0
  158. data/lib/fog/oracle/models/compute/statistic_queries.rb +22 -0
  159. data/lib/fog/oracle/models/compute/statistic_query.rb +18 -0
  160. data/lib/fog/oracle/models/compute/statistic_type.rb +18 -0
  161. data/lib/fog/oracle/models/compute/statistics.rb +22 -0
  162. data/lib/fog/oracle/models/compute/statistics_management_attributes.rb +15 -0
  163. data/lib/fog/oracle/models/compute/statistics_management_attributeses.rb +22 -0
  164. data/lib/fog/oracle/models/compute/storage_ability.rb +23 -0
  165. data/lib/fog/oracle/models/compute/storage_ability_record.rb +12 -0
  166. data/lib/fog/oracle/models/compute/storage_ability_records.rb +22 -0
  167. data/lib/fog/oracle/models/compute/storage_ability_value.rb +12 -0
  168. data/lib/fog/oracle/models/compute/storage_array.rb +34 -0
  169. data/lib/fog/oracle/models/compute/storage_array_plugin.rb +24 -0
  170. data/lib/fog/oracle/models/compute/storage_array_plugins.rb +22 -0
  171. data/lib/fog/oracle/models/compute/storage_arrays.rb +22 -0
  172. data/lib/fog/oracle/models/compute/storage_element.rb +30 -0
  173. data/lib/fog/oracle/models/compute/storage_element_state.rb +14 -0
  174. data/lib/fog/oracle/models/compute/storage_element_type.rb +11 -0
  175. data/lib/fog/oracle/models/compute/storage_elements.rb +22 -0
  176. data/lib/fog/oracle/models/compute/storage_initiator.rb +20 -0
  177. data/lib/fog/oracle/models/compute/storage_initiators.rb +22 -0
  178. data/lib/fog/oracle/models/compute/storage_path.rb +17 -0
  179. data/lib/fog/oracle/models/compute/storage_paths.rb +22 -0
  180. data/lib/fog/oracle/models/compute/storage_target.rb +23 -0
  181. data/lib/fog/oracle/models/compute/storage_targets.rb +22 -0
  182. data/lib/fog/oracle/models/compute/storage_type.rb +10 -0
  183. data/lib/fog/oracle/models/compute/storage_use.rb +8 -0
  184. data/lib/fog/oracle/models/compute/string_list.rb +11 -0
  185. data/lib/fog/oracle/models/compute/string_lists.rb +22 -0
  186. data/lib/fog/oracle/models/compute/unselected_object_details.rb +12 -0
  187. data/lib/fog/oracle/models/compute/unselected_object_detailses.rb +22 -0
  188. data/lib/fog/oracle/models/compute/virtual_disk.rb +19 -0
  189. data/lib/fog/oracle/models/compute/virtual_disks.rb +22 -0
  190. data/lib/fog/oracle/models/compute/virtual_nic.rb +15 -0
  191. data/lib/fog/oracle/models/compute/virtual_nics.rb +22 -0
  192. data/lib/fog/oracle/models/compute/virtual_switch.rb +13 -0
  193. data/lib/fog/oracle/models/compute/virtual_switches.rb +22 -0
  194. data/lib/fog/oracle/models/compute/vlan_interface.rb +18 -0
  195. data/lib/fog/oracle/models/compute/vlan_interfaces.rb +22 -0
  196. data/lib/fog/oracle/models/compute/vm.rb +48 -0
  197. data/lib/fog/oracle/models/compute/vm_boot_type.rb +9 -0
  198. data/lib/fog/oracle/models/compute/vm_clone_definition.rb +13 -0
  199. data/lib/fog/oracle/models/compute/vm_clone_definitions.rb +22 -0
  200. data/lib/fog/oracle/models/compute/vm_clone_network_mapping.rb +13 -0
  201. data/lib/fog/oracle/models/compute/vm_clone_network_mappings.rb +22 -0
  202. data/lib/fog/oracle/models/compute/vm_clone_storage_mapping.rb +16 -0
  203. data/lib/fog/oracle/models/compute/vm_clone_storage_mappings.rb +22 -0
  204. data/lib/fog/oracle/models/compute/vm_disk_mapping.rb +16 -0
  205. data/lib/fog/oracle/models/compute/vm_disk_mappings.rb +22 -0
  206. data/lib/fog/oracle/models/compute/vm_domain_type.rb +11 -0
  207. data/lib/fog/oracle/models/compute/vm_message_type.rb +8 -0
  208. data/lib/fog/oracle/models/compute/vm_mouse_type.rb +10 -0
  209. data/lib/fog/oracle/models/compute/vm_restart_action.rb +8 -0
  210. data/lib/fog/oracle/models/compute/vm_run_state.rb +12 -0
  211. data/lib/fog/oracle/models/compute/vm_start_policy.rb +9 -0
  212. data/lib/fog/oracle/models/compute/vms.rb +22 -0
  213. data/lib/fog/oracle/models/compute/volume_group.rb +18 -0
  214. data/lib/fog/oracle/models/compute/volume_groups.rb +22 -0
  215. data/lib/fog/oracle/models/compute/ws_error_code.rb +117 -0
  216. data/lib/fog/oracle/models/compute/ws_error_details.rb +14 -0
  217. data/lib/fog/oracle/models/compute/ws_error_detailses.rb +22 -0
  218. data/lib/fog/oracle/models/compute/ws_exception.rb +11 -0
  219. data/lib/fog/oracle/models/compute/ws_exceptions.rb +22 -0
  220. data/lib/fog/oracle/models/compute/zone.rb +13 -0
  221. data/lib/fog/oracle/models/compute/zones.rb +22 -0
  222. data/lib/fog/oracle/models/model.rb +26 -0
  223. data/lib/fog/oracle/requests/compute/get_control_domain.rb +60 -0
  224. data/lib/fog/oracle/requests/compute/get_cpu.rb +57 -0
  225. data/lib/fog/oracle/requests/compute/get_cpu_compatibility_group.rb +51 -0
  226. data/lib/fog/oracle/requests/compute/get_ethernet_port.rb +66 -0
  227. data/lib/fog/oracle/requests/compute/get_file_server.rb +78 -0
  228. data/lib/fog/oracle/requests/compute/get_file_server_plugin.rb +129 -0
  229. data/lib/fog/oracle/requests/compute/get_file_system.rb +81 -0
  230. data/lib/fog/oracle/requests/compute/get_file_system_mount.rb +58 -0
  231. data/lib/fog/oracle/requests/compute/get_job.rb +62 -0
  232. data/lib/fog/oracle/requests/compute/get_manager.rb +47 -0
  233. data/lib/fog/oracle/requests/compute/get_network.rb +94 -0
  234. data/lib/fog/oracle/requests/compute/get_repository.rb +149 -0
  235. data/lib/fog/oracle/requests/compute/get_server.rb +300 -0
  236. data/lib/fog/oracle/requests/compute/get_server_pool.rb +98 -0
  237. data/lib/fog/oracle/requests/compute/get_server_pool_policy.rb +55 -0
  238. data/lib/fog/oracle/requests/compute/get_server_update_configuration.rb +47 -0
  239. data/lib/fog/oracle/requests/compute/get_storage_array.rb +79 -0
  240. data/lib/fog/oracle/requests/compute/get_storage_array_plugin.rb +143 -0
  241. data/lib/fog/oracle/requests/compute/get_storage_element.rb +83 -0
  242. data/lib/fog/oracle/requests/compute/get_storage_initiator.rb +71 -0
  243. data/lib/fog/oracle/requests/compute/get_storage_path.rb +60 -0
  244. data/lib/fog/oracle/requests/compute/get_virtual_disk.rb +64 -0
  245. data/lib/fog/oracle/requests/compute/get_virtual_nic.rb +58 -0
  246. data/lib/fog/oracle/requests/compute/get_virtual_switch.rb +56 -0
  247. data/lib/fog/oracle/requests/compute/get_vm.rb +113 -0
  248. data/lib/fog/oracle/requests/compute/get_vm_disk_mapping.rb +59 -0
  249. data/lib/fog/oracle/requests/compute/get_volume_group.rb +56 -0
  250. data/lib/fog/oracle/requests/compute/list_access_groups.rb +29 -0
  251. data/lib/fog/oracle/requests/compute/list_affinity_groups.rb +29 -0
  252. data/lib/fog/oracle/requests/compute/list_assemblies.rb +29 -0
  253. data/lib/fog/oracle/requests/compute/list_assembly_virtual_disks.rb +29 -0
  254. data/lib/fog/oracle/requests/compute/list_assembly_vms.rb +29 -0
  255. data/lib/fog/oracle/requests/compute/list_cluster_heartbeat_devices.rb +29 -0
  256. data/lib/fog/oracle/requests/compute/list_cluster_storage_fses.rb +29 -0
  257. data/lib/fog/oracle/requests/compute/list_clusters.rb +29 -0
  258. data/lib/fog/oracle/requests/compute/list_control_domains.rb +62 -0
  259. data/lib/fog/oracle/requests/compute/list_cpu_compatibility_groups.rb +53 -0
  260. data/lib/fog/oracle/requests/compute/list_cpus.rb +262 -0
  261. data/lib/fog/oracle/requests/compute/list_ethernet_ports.rb +125 -0
  262. data/lib/fog/oracle/requests/compute/list_file_server_plugins.rb +225 -0
  263. data/lib/fog/oracle/requests/compute/list_file_servers.rb +80 -0
  264. data/lib/fog/oracle/requests/compute/list_file_system_mounts.rb +60 -0
  265. data/lib/fog/oracle/requests/compute/list_file_systems.rb +83 -0
  266. data/lib/fog/oracle/requests/compute/list_jobs.rb +61 -0
  267. data/lib/fog/oracle/requests/compute/list_managers.rb +49 -0
  268. data/lib/fog/oracle/requests/compute/list_networks.rb +96 -0
  269. data/lib/fog/oracle/requests/compute/list_repositories.rb +151 -0
  270. data/lib/fog/oracle/requests/compute/list_repository_exports.rb +29 -0
  271. data/lib/fog/oracle/requests/compute/list_resource_groups.rb +29 -0
  272. data/lib/fog/oracle/requests/compute/list_server_controllers.rb +29 -0
  273. data/lib/fog/oracle/requests/compute/list_server_pool_network_policies.rb +29 -0
  274. data/lib/fog/oracle/requests/compute/list_server_pool_policies.rb +57 -0
  275. data/lib/fog/oracle/requests/compute/list_server_pools.rb +100 -0
  276. data/lib/fog/oracle/requests/compute/list_server_update_configurations.rb +68 -0
  277. data/lib/fog/oracle/requests/compute/list_server_update_repository_configurations.rb +29 -0
  278. data/lib/fog/oracle/requests/compute/list_servers.rb +302 -0
  279. data/lib/fog/oracle/requests/compute/list_storage_array_plugins.rb +145 -0
  280. data/lib/fog/oracle/requests/compute/list_storage_arrays.rb +195 -0
  281. data/lib/fog/oracle/requests/compute/list_storage_elements.rb +133 -0
  282. data/lib/fog/oracle/requests/compute/list_storage_initiators.rb +103 -0
  283. data/lib/fog/oracle/requests/compute/list_storage_paths.rb +94 -0
  284. data/lib/fog/oracle/requests/compute/list_storage_targets.rb +29 -0
  285. data/lib/fog/oracle/requests/compute/list_virtual_disks.rb +364 -0
  286. data/lib/fog/oracle/requests/compute/list_virtual_nics.rb +180 -0
  287. data/lib/fog/oracle/requests/compute/list_virtual_switches.rb +58 -0
  288. data/lib/fog/oracle/requests/compute/list_vlan_interfaces.rb +29 -0
  289. data/lib/fog/oracle/requests/compute/list_vm_clone_definitions.rb +29 -0
  290. data/lib/fog/oracle/requests/compute/list_vm_clone_network_mappings.rb +29 -0
  291. data/lib/fog/oracle/requests/compute/list_vm_clone_storage_mappings.rb +29 -0
  292. data/lib/fog/oracle/requests/compute/list_vm_disk_mappings.rb +247 -0
  293. data/lib/fog/oracle/requests/compute/list_vms.rb +457 -0
  294. data/lib/fog/oracle/requests/compute/list_volume_groups.rb +127 -0
  295. data/lib/fog/oracle/requests/compute/list_zones.rb +29 -0
  296. data/lib/fog/oracle/requests/compute/login.rb +24 -0
  297. data/lib/fog/oracle/version.rb +5 -0
  298. data/tasks/bundler.rake +3 -0
  299. data/tasks/console.rake +12 -0
  300. metadata +400 -0
@@ -0,0 +1,92 @@
1
+ require 'fog/core'
2
+ require 'fog/json'
3
+ require 'fog/xml'
4
+
5
+ module Fog
6
+ module Oracle
7
+ extend Fog::Provider
8
+
9
+ module Errors
10
+ class ServiceError < Fog::Errors::Error; end
11
+ class ServiceUnavailable < ServiceError; end
12
+ class BadRequest < ServiceError; end
13
+ class InterfaceNotImplemented < Fog::Errors::Error; end
14
+ end
15
+
16
+ service(:compute, 'Compute')
17
+
18
+ module JsonUtils
19
+ def json_encode(body)
20
+ encoded = Fog::JSON.encode(body)
21
+ encoded
22
+ end
23
+
24
+ def json_decode(body)
25
+ parsed = Fog::JSON.decode(body)
26
+ snakecase_hash_keys(parsed)
27
+ # decode_time_attrs(parsed)
28
+ parsed
29
+ end
30
+
31
+ def snakecase_hash_keys(value)
32
+ case value
33
+ when Hash
34
+ value.keys.each do |key|
35
+ new_key = key.underscore
36
+ value[new_key] = value.delete(key)
37
+ snakecase_hash_keys(value[new_key])
38
+ end
39
+ when Array
40
+ value.each do |it|
41
+ snakecase_hash_keys(it)
42
+ end
43
+ end
44
+ end
45
+ end
46
+
47
+ module Core
48
+ include JsonUtils
49
+
50
+ def core_initialize(options)
51
+ @api_url = options[:oracle_url]
52
+ @username = options[:oracle_username]
53
+ @password = options[:oracle_password]
54
+ @connection_options = options[:connection_options] || {}
55
+ @persistent = options[:persistent] || false
56
+ @connection = Fog::XML::Connection.new(@api_url, @persistent, @connection_options)
57
+ end
58
+
59
+ def escape(str)
60
+ str.gsub(/([^a-zA-Z0-9_.-]+)/) do
61
+ '%' + $1.unpack('H2' * $1.bytesize).join('%').upcase
62
+ end
63
+ end
64
+
65
+ def request(opts)
66
+ opts[:path] = '/ovm/core/wsapi/rest/' + opts[:path]
67
+
68
+ hash = Base64.encode64(@username + ":" + @password).delete("\r\n")
69
+
70
+ opts[:headers] = {
71
+ "Accept" => "application/json",
72
+ 'Authorization' => "Basic #{hash}"
73
+ }.merge(opts[:headers] || {})
74
+
75
+ if opts[:body]
76
+ opts[:headers]["Content-Type"] = "application/json"
77
+ opts[:body] = json_encode(opts[:body])
78
+ end
79
+
80
+ response = @connection.request(opts)
81
+
82
+ if response.headers["Content-Type"] == "application/json"
83
+ response.body = json_decode(response.body)
84
+ end
85
+
86
+ # puts @api_url, opts, response
87
+
88
+ response
89
+ end
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,89 @@
1
+ module Fog
2
+ module Associations
3
+ class OracleDefault < Default
4
+ def create_setter
5
+ model.class_eval <<-EOS, __FILE__, __LINE__
6
+ def #{name}=(new_#{name})
7
+ associations[:#{name}] = new_#{name}
8
+ end
9
+ EOS
10
+ end
11
+
12
+ def create_getter
13
+ model.class_eval <<-EOS, __FILE__, __LINE__
14
+ def #{name}
15
+ associations[:#{name}]
16
+ end
17
+ EOS
18
+ end
19
+ end
20
+
21
+ class OracleOneModel < OracleDefault
22
+ def create_setter
23
+ model.class_eval <<-EOS, __FILE__, __LINE__
24
+ def #{name}=(new_#{name})
25
+ return if new_#{name}.nil?
26
+ associations[:#{name}] = service.send(self.class.associations[:#{name}]).new(new_#{name})
27
+ end
28
+ EOS
29
+ end
30
+ end
31
+
32
+ class OracleManyModels < OracleDefault
33
+ def create_setter
34
+ model.class_eval <<-EOS, __FILE__, __LINE__
35
+ def #{name}=(new_#{name})
36
+ return if new_#{name}.nil?
37
+ collection = service.send(self.class.associations[:#{name}])
38
+ associations[:#{name}] = Array(new_#{name}).map do |association|
39
+ collection.new(association)
40
+ end
41
+ end
42
+ EOS
43
+ end
44
+ end
45
+
46
+ class OracleOneIdentity < OracleDefault
47
+ attr_reader :details_name
48
+
49
+ def initialize(model, name, collection_name, options)
50
+ @details_name = options[:details_name]
51
+ super(model, name, collection_name, options)
52
+ end
53
+
54
+ def create_getter
55
+ super
56
+
57
+ model.class_eval <<-EOS, __FILE__, __LINE__
58
+ def #{details_name}
59
+ return nil if associations[:#{name}].nil?
60
+ service.send(self.class.associations[:#{name}]).get(associations[:#{name}])
61
+ end
62
+ EOS
63
+ end
64
+ end
65
+
66
+ class OracleManyIdentities < OracleDefault
67
+ attr_reader :all_name
68
+
69
+ def initialize(model, name, collection_name, options)
70
+ @all_name = options[:all_name]
71
+ super(model, name, collection_name, options)
72
+ end
73
+
74
+ def create_getter
75
+ super
76
+
77
+ model.class_eval <<-EOS, __FILE__, __LINE__
78
+ def #{all_name}
79
+ return [] if associations[:#{name}].nil?
80
+ data = Array(associations[:#{name}]).map do |association|
81
+ service.send(self.class.associations[:#{name}]).get(association)
82
+ end
83
+ #{association_class}.new(data)
84
+ end
85
+ EOS
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,47 @@
1
+ require 'fog/core/collection'
2
+
3
+ module Fog
4
+ module Oracle
5
+ class Collection < Fog::Collection
6
+ # It's important to store the whole response, it contains e.g. important info about whether there is another
7
+ # page of data.
8
+ attr_accessor :response
9
+
10
+ def id_value(id)
11
+ if id.is_a?(Hash)
12
+ id["value"]
13
+ else
14
+ id
15
+ end
16
+ end
17
+
18
+ def load_response(response)
19
+ objects = response.body
20
+
21
+ clear && objects.each { |object| self << new(object) }
22
+ self.response = response
23
+ self
24
+ end
25
+
26
+ def new_from_response(response)
27
+ obj = new(response.body)
28
+ obj.response = response
29
+ obj
30
+ end
31
+
32
+ ##################################################################################################################
33
+ # Abstract base class methods, please keep the consistent naming in all subclasses of the Collection class
34
+
35
+ # Returns detailed list of records
36
+ def all(options = {})
37
+ raise Fog::Oracle::Errors::InterfaceNotImplemented.new('Method :all is not implemented')
38
+ end
39
+
40
+ # Gets record given record's id
41
+ def get(id)
42
+ raise Fog::Oracle::Errors::InterfaceNotImplemented.new('Method :get is not implemented')
43
+ end
44
+ alias_method :find_by_id, :get
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,18 @@
1
+ require 'fog/oracle/models/compute/base_object'
2
+
3
+ module Fog
4
+ module Compute
5
+ class Oracle
6
+ class AccessGroup < BaseObject
7
+ attribute :name_on_array, :type => :string
8
+ attribute :type, :type => :string # AccessGroupType
9
+ has_many_identities :file_system_ids, :file_systems, :all_name => :file_systems
10
+ has_many_identities :server_ids, :servers, :all_name => :servers
11
+ has_many_identities :storage_element_ids, :storage_elements, :all_name => :storage_elements
12
+ has_many_identities :storage_initiator_ids, :storage_initiators, :all_name => :storage_initiators
13
+ has_one_identity :file_server_id, :file_servers, :details_name => :file_server
14
+ has_one_identity :storage_array_id, :storage_arrays, :details_name => :storage_array
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,8 @@
1
+ module Fog
2
+ module Oracle
3
+ module AccessGroupType
4
+ FILE_SYSTEM = 'FILE_SYSTEM'
5
+ STORAGE_ELEMENT = 'STORAGE_ELEMENT'
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,22 @@
1
+ require 'fog/oracle/models/collection'
2
+ require 'fog/oracle/models/compute/access_group'
3
+
4
+ module Fog
5
+ module Compute
6
+ class Oracle
7
+ class AccessGroups < Fog::Oracle::Collection
8
+ model Fog::Compute::Oracle::AccessGroup
9
+
10
+ def all()
11
+ data = service.list_access_groups()
12
+ load_response(data)
13
+ end
14
+
15
+ def get(id)
16
+ data = service.get_access_group(id_value(id))
17
+ new_from_response(data)
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,14 @@
1
+ require 'fog/oracle/models/model'
2
+
3
+ module Fog
4
+ module Compute
5
+ class Oracle
6
+ class AccessHost < Fog::Oracle::Model
7
+ attribute :hostname, :type => :string
8
+ attribute :password, :type => :string
9
+ attribute :port, :type => :integer
10
+ attribute :username, :type => :string
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,22 @@
1
+ require 'fog/oracle/models/collection'
2
+ require 'fog/oracle/models/compute/access_host'
3
+
4
+ module Fog
5
+ module Compute
6
+ class Oracle
7
+ class AccessHosts < Fog::Oracle::Collection
8
+ model Fog::Compute::Oracle::AccessHost
9
+
10
+ def all()
11
+ data = service.list_access_hosts()
12
+ load_response(data)
13
+ end
14
+
15
+ def get(id)
16
+ data = service.get_access_host(id_value(id))
17
+ new_from_response(data)
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,15 @@
1
+ require 'fog/oracle/models/compute/base_object'
2
+
3
+ module Fog
4
+ module Compute
5
+ class Oracle
6
+ class AffinityGroup < BaseObject
7
+ attribute :server_affinity_type, :type => :string # AffinityType
8
+ attribute :vm_affinity_type, :type => :string # AffinityType
9
+ has_many_identities :server_ids, :servers, :all_name => :servers
10
+ has_many_identities :vm_ids, :vms, :all_name => :vms
11
+ has_one_identity :server_pool_id, :server_pools, :details_name => :server_pool
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,22 @@
1
+ require 'fog/oracle/models/collection'
2
+ require 'fog/oracle/models/compute/affinity_group'
3
+
4
+ module Fog
5
+ module Compute
6
+ class Oracle
7
+ class AffinityGroups < Fog::Oracle::Collection
8
+ model Fog::Compute::Oracle::AffinityGroup
9
+
10
+ def all()
11
+ data = service.list_affinity_groups()
12
+ load_response(data)
13
+ end
14
+
15
+ def get(id)
16
+ data = service.get_affinity_group(id_value(id))
17
+ new_from_response(data)
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,9 @@
1
+ module Fog
2
+ module Oracle
3
+ module AffinityType
4
+ AFFINITY = 'AFFINITY'
5
+ ANTI_AFFINITY = 'ANTI_AFFINITY'
6
+ NO_AFFINITY = 'NO_AFFINITY'
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,16 @@
1
+ require 'fog/oracle/models/model'
2
+
3
+ module Fog
4
+ module Compute
5
+ class Oracle
6
+ class ArchiveManagementAttributes < Fog::Oracle::Model
7
+ attribute :archive_events_max_age, :type => :integer
8
+ attribute :archive_jobs_max_age, :type => :integer
9
+ attribute :constructing_jobs_max_age, :type => :integer
10
+ attribute :interval, :type => :integer
11
+ attribute :live_events_max_age, :type => :integer
12
+ attribute :live_jobs_max_age, :type => :integer
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,22 @@
1
+ require 'fog/oracle/models/collection'
2
+ require 'fog/oracle/models/compute/archive_management_attributes'
3
+
4
+ module Fog
5
+ module Compute
6
+ class Oracle
7
+ class ArchiveManagementAttributeses < Fog::Oracle::Collection
8
+ model Fog::Compute::Oracle::ArchiveManagementAttributes
9
+
10
+ def all()
11
+ data = service.list_archive_management_attributeses()
12
+ load_response(data)
13
+ end
14
+
15
+ def get(id)
16
+ data = service.get_archive_management_attributes(id_value(id))
17
+ new_from_response(data)
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ require 'fog/oracle/models/collection'
2
+ require 'fog/oracle/models/compute/assembly'
3
+
4
+ module Fog
5
+ module Compute
6
+ class Oracle
7
+ class Assemblies < Fog::Oracle::Collection
8
+ model Fog::Compute::Oracle::Assembly
9
+
10
+ def all()
11
+ data = service.list_assemblies()
12
+ load_response(data)
13
+ end
14
+
15
+ def get(id)
16
+ data = service.get_assembly(id_value(id))
17
+ new_from_response(data)
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,15 @@
1
+ require 'fog/oracle/models/compute/base_object'
2
+
3
+ module Fog
4
+ module Compute
5
+ class Oracle
6
+ class Assembly < BaseObject
7
+ attribute :locales, :type => :array # of :string
8
+ attribute :origin, :type => :string
9
+ has_many_identities :assembly_virtual_disk_ids, :assembly_virtual_disks, :all_name => :assembly_virtual_disks
10
+ has_many_identities :assembly_vm_ids, :assembly_vms, :all_name => :assembly_vms
11
+ has_one_identity :repository_id, :repositories, :details_name => :repository
12
+ end
13
+ end
14
+ end
15
+ end