test-oneview 5.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (782) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +758 -0
  3. data/Dockerfile +21 -0
  4. data/Gemfile +14 -0
  5. data/Guardfile +26 -0
  6. data/LICENSE +201 -0
  7. data/README.md +516 -0
  8. data/Rakefile +126 -0
  9. data/TESTING.md +61 -0
  10. data/bin/oneview-sdk-ruby +4 -0
  11. data/endpoints-support.md +552 -0
  12. data/lib/oneview-sdk.rb +65 -0
  13. data/lib/oneview-sdk/cli.rb +639 -0
  14. data/lib/oneview-sdk/client.rb +220 -0
  15. data/lib/oneview-sdk/config_loader.rb +31 -0
  16. data/lib/oneview-sdk/exceptions.rb +91 -0
  17. data/lib/oneview-sdk/image-streamer/client.rb +99 -0
  18. data/lib/oneview-sdk/image-streamer/resource/api1000.rb +39 -0
  19. data/lib/oneview-sdk/image-streamer/resource/api1000/artifact_bundle.rb +22 -0
  20. data/lib/oneview-sdk/image-streamer/resource/api1000/build_plan.rb +22 -0
  21. data/lib/oneview-sdk/image-streamer/resource/api1000/deployment_group.rb +22 -0
  22. data/lib/oneview-sdk/image-streamer/resource/api1000/deployment_plan.rb +22 -0
  23. data/lib/oneview-sdk/image-streamer/resource/api1000/golden_image.rb +22 -0
  24. data/lib/oneview-sdk/image-streamer/resource/api1000/os_volume.rb +22 -0
  25. data/lib/oneview-sdk/image-streamer/resource/api1000/plan_script.rb +22 -0
  26. data/lib/oneview-sdk/image-streamer/resource/api1020.rb +39 -0
  27. data/lib/oneview-sdk/image-streamer/resource/api1020/artifact_bundle.rb +22 -0
  28. data/lib/oneview-sdk/image-streamer/resource/api1020/build_plan.rb +22 -0
  29. data/lib/oneview-sdk/image-streamer/resource/api1020/deployment_group.rb +22 -0
  30. data/lib/oneview-sdk/image-streamer/resource/api1020/deployment_plan.rb +22 -0
  31. data/lib/oneview-sdk/image-streamer/resource/api1020/golden_image.rb +22 -0
  32. data/lib/oneview-sdk/image-streamer/resource/api1020/os_volume.rb +22 -0
  33. data/lib/oneview-sdk/image-streamer/resource/api1020/plan_script.rb +22 -0
  34. data/lib/oneview-sdk/image-streamer/resource/api1600.rb +39 -0
  35. data/lib/oneview-sdk/image-streamer/resource/api1600/artifact_bundle.rb +22 -0
  36. data/lib/oneview-sdk/image-streamer/resource/api1600/build_plan.rb +22 -0
  37. data/lib/oneview-sdk/image-streamer/resource/api1600/deployment_group.rb +22 -0
  38. data/lib/oneview-sdk/image-streamer/resource/api1600/deployment_plan.rb +22 -0
  39. data/lib/oneview-sdk/image-streamer/resource/api1600/golden_image.rb +22 -0
  40. data/lib/oneview-sdk/image-streamer/resource/api1600/os_volume.rb +22 -0
  41. data/lib/oneview-sdk/image-streamer/resource/api1600/plan_script.rb +22 -0
  42. data/lib/oneview-sdk/image-streamer/resource/api300.rb +39 -0
  43. data/lib/oneview-sdk/image-streamer/resource/api300/artifact_bundle.rb +213 -0
  44. data/lib/oneview-sdk/image-streamer/resource/api300/build_plan.rb +33 -0
  45. data/lib/oneview-sdk/image-streamer/resource/api300/deployment_group.rb +41 -0
  46. data/lib/oneview-sdk/image-streamer/resource/api300/deployment_plan.rb +33 -0
  47. data/lib/oneview-sdk/image-streamer/resource/api300/golden_image.rb +89 -0
  48. data/lib/oneview-sdk/image-streamer/resource/api300/os_volume.rb +49 -0
  49. data/lib/oneview-sdk/image-streamer/resource/api300/plan_script.rb +42 -0
  50. data/lib/oneview-sdk/image-streamer/resource/api300/resource.rb +21 -0
  51. data/lib/oneview-sdk/image-streamer/resource/api500.rb +39 -0
  52. data/lib/oneview-sdk/image-streamer/resource/api500/artifact_bundle.rb +22 -0
  53. data/lib/oneview-sdk/image-streamer/resource/api500/build_plan.rb +32 -0
  54. data/lib/oneview-sdk/image-streamer/resource/api500/deployment_group.rb +22 -0
  55. data/lib/oneview-sdk/image-streamer/resource/api500/deployment_plan.rb +42 -0
  56. data/lib/oneview-sdk/image-streamer/resource/api500/golden_image.rb +22 -0
  57. data/lib/oneview-sdk/image-streamer/resource/api500/os_volume.rb +22 -0
  58. data/lib/oneview-sdk/image-streamer/resource/api500/plan_script.rb +22 -0
  59. data/lib/oneview-sdk/image-streamer/resource/api600.rb +39 -0
  60. data/lib/oneview-sdk/image-streamer/resource/api600/artifact_bundle.rb +22 -0
  61. data/lib/oneview-sdk/image-streamer/resource/api600/build_plan.rb +22 -0
  62. data/lib/oneview-sdk/image-streamer/resource/api600/deployment_group.rb +22 -0
  63. data/lib/oneview-sdk/image-streamer/resource/api600/deployment_plan.rb +31 -0
  64. data/lib/oneview-sdk/image-streamer/resource/api600/golden_image.rb +22 -0
  65. data/lib/oneview-sdk/image-streamer/resource/api600/os_volume.rb +39 -0
  66. data/lib/oneview-sdk/image-streamer/resource/api600/plan_script.rb +31 -0
  67. data/lib/oneview-sdk/image-streamer/resource/api800.rb +39 -0
  68. data/lib/oneview-sdk/image-streamer/resource/api800/artifact_bundle.rb +22 -0
  69. data/lib/oneview-sdk/image-streamer/resource/api800/build_plan.rb +22 -0
  70. data/lib/oneview-sdk/image-streamer/resource/api800/deployment_group.rb +22 -0
  71. data/lib/oneview-sdk/image-streamer/resource/api800/deployment_plan.rb +22 -0
  72. data/lib/oneview-sdk/image-streamer/resource/api800/golden_image.rb +22 -0
  73. data/lib/oneview-sdk/image-streamer/resource/api800/os_volume.rb +22 -0
  74. data/lib/oneview-sdk/image-streamer/resource/api800/plan_script.rb +22 -0
  75. data/lib/oneview-sdk/image_streamer.rb +68 -0
  76. data/lib/oneview-sdk/resource.rb +431 -0
  77. data/lib/oneview-sdk/resource/api1000.rb +66 -0
  78. data/lib/oneview-sdk/resource/api1000/c7000.rb +27 -0
  79. data/lib/oneview-sdk/resource/api1000/c7000/connection_template.rb +22 -0
  80. data/lib/oneview-sdk/resource/api1000/c7000/enclosure.rb +22 -0
  81. data/lib/oneview-sdk/resource/api1000/c7000/enclosure_group.rb +22 -0
  82. data/lib/oneview-sdk/resource/api1000/c7000/ethernet_network.rb +22 -0
  83. data/lib/oneview-sdk/resource/api1000/c7000/fc_network.rb +22 -0
  84. data/lib/oneview-sdk/resource/api1000/c7000/fcoe_network.rb +23 -0
  85. data/lib/oneview-sdk/resource/api1000/c7000/firmware_driver.rb +22 -0
  86. data/lib/oneview-sdk/resource/api1000/c7000/hypervisor_cluster_profile.rb +22 -0
  87. data/lib/oneview-sdk/resource/api1000/c7000/hypervisor_manager.rb +22 -0
  88. data/lib/oneview-sdk/resource/api1000/c7000/interconnect.rb +23 -0
  89. data/lib/oneview-sdk/resource/api1000/c7000/lig_uplink_set.rb +21 -0
  90. data/lib/oneview-sdk/resource/api1000/c7000/logical_enclosure.rb +22 -0
  91. data/lib/oneview-sdk/resource/api1000/c7000/logical_interconnect.rb +32 -0
  92. data/lib/oneview-sdk/resource/api1000/c7000/logical_interconnect_group.rb +32 -0
  93. data/lib/oneview-sdk/resource/api1000/c7000/network_set.rb +22 -0
  94. data/lib/oneview-sdk/resource/api1000/c7000/scope.rb +22 -0
  95. data/lib/oneview-sdk/resource/api1000/c7000/server_certificate.rb +22 -0
  96. data/lib/oneview-sdk/resource/api1000/c7000/server_hardware.rb +32 -0
  97. data/lib/oneview-sdk/resource/api1000/c7000/server_hardware_type.rb +32 -0
  98. data/lib/oneview-sdk/resource/api1000/c7000/server_profile.rb +32 -0
  99. data/lib/oneview-sdk/resource/api1000/c7000/server_profile_template.rb +33 -0
  100. data/lib/oneview-sdk/resource/api1000/c7000/storage_pool.rb +22 -0
  101. data/lib/oneview-sdk/resource/api1000/c7000/storage_system.rb +35 -0
  102. data/lib/oneview-sdk/resource/api1000/c7000/uplink_set.rb +32 -0
  103. data/lib/oneview-sdk/resource/api1000/c7000/volume.rb +22 -0
  104. data/lib/oneview-sdk/resource/api1000/c7000/volume_attachment.rb +22 -0
  105. data/lib/oneview-sdk/resource/api1000/c7000/volume_template.rb +22 -0
  106. data/lib/oneview-sdk/resource/api1000/synergy.rb +27 -0
  107. data/lib/oneview-sdk/resource/api1000/synergy/connection_template.rb +22 -0
  108. data/lib/oneview-sdk/resource/api1000/synergy/enclosure.rb +22 -0
  109. data/lib/oneview-sdk/resource/api1000/synergy/enclosure_group.rb +22 -0
  110. data/lib/oneview-sdk/resource/api1000/synergy/ethernet_network.rb +22 -0
  111. data/lib/oneview-sdk/resource/api1000/synergy/fc_network.rb +22 -0
  112. data/lib/oneview-sdk/resource/api1000/synergy/fcoe_network.rb +22 -0
  113. data/lib/oneview-sdk/resource/api1000/synergy/firmware_driver.rb +22 -0
  114. data/lib/oneview-sdk/resource/api1000/synergy/hypervisor_cluster_profile.rb +22 -0
  115. data/lib/oneview-sdk/resource/api1000/synergy/hypervisor_manager.rb +22 -0
  116. data/lib/oneview-sdk/resource/api1000/synergy/interconnect.rb +22 -0
  117. data/lib/oneview-sdk/resource/api1000/synergy/lig_uplink_set.rb +21 -0
  118. data/lib/oneview-sdk/resource/api1000/synergy/logical_enclosure.rb +22 -0
  119. data/lib/oneview-sdk/resource/api1000/synergy/logical_interconnect.rb +32 -0
  120. data/lib/oneview-sdk/resource/api1000/synergy/logical_interconnect_group.rb +33 -0
  121. data/lib/oneview-sdk/resource/api1000/synergy/network_set.rb +22 -0
  122. data/lib/oneview-sdk/resource/api1000/synergy/os_deployment_plan.rb +22 -0
  123. data/lib/oneview-sdk/resource/api1000/synergy/sas_logical_interconnect_group.rb +22 -0
  124. data/lib/oneview-sdk/resource/api1000/synergy/scope.rb +22 -0
  125. data/lib/oneview-sdk/resource/api1000/synergy/server_certificate.rb +22 -0
  126. data/lib/oneview-sdk/resource/api1000/synergy/server_hardware.rb +32 -0
  127. data/lib/oneview-sdk/resource/api1000/synergy/server_hardware_type.rb +22 -0
  128. data/lib/oneview-sdk/resource/api1000/synergy/server_profile.rb +25 -0
  129. data/lib/oneview-sdk/resource/api1000/synergy/server_profile_template.rb +22 -0
  130. data/lib/oneview-sdk/resource/api1000/synergy/storage_pool.rb +22 -0
  131. data/lib/oneview-sdk/resource/api1000/synergy/storage_system.rb +22 -0
  132. data/lib/oneview-sdk/resource/api1000/synergy/uplink_set.rb +32 -0
  133. data/lib/oneview-sdk/resource/api1000/synergy/volume.rb +22 -0
  134. data/lib/oneview-sdk/resource/api1000/synergy/volume_attachment.rb +22 -0
  135. data/lib/oneview-sdk/resource/api1000/synergy/volume_template.rb +22 -0
  136. data/lib/oneview-sdk/resource/api1200.rb +66 -0
  137. data/lib/oneview-sdk/resource/api1200/c7000.rb +27 -0
  138. data/lib/oneview-sdk/resource/api1200/c7000/connection_template.rb +22 -0
  139. data/lib/oneview-sdk/resource/api1200/c7000/enclosure.rb +32 -0
  140. data/lib/oneview-sdk/resource/api1200/c7000/enclosure_group.rb +36 -0
  141. data/lib/oneview-sdk/resource/api1200/c7000/ethernet_network.rb +35 -0
  142. data/lib/oneview-sdk/resource/api1200/c7000/fc_network.rb +22 -0
  143. data/lib/oneview-sdk/resource/api1200/c7000/fcoe_network.rb +23 -0
  144. data/lib/oneview-sdk/resource/api1200/c7000/firmware_driver.rb +22 -0
  145. data/lib/oneview-sdk/resource/api1200/c7000/hypervisor_cluster_profile.rb +22 -0
  146. data/lib/oneview-sdk/resource/api1200/c7000/hypervisor_manager.rb +22 -0
  147. data/lib/oneview-sdk/resource/api1200/c7000/interconnect.rb +33 -0
  148. data/lib/oneview-sdk/resource/api1200/c7000/lig_uplink_set.rb +21 -0
  149. data/lib/oneview-sdk/resource/api1200/c7000/logical_enclosure.rb +22 -0
  150. data/lib/oneview-sdk/resource/api1200/c7000/logical_interconnect.rb +32 -0
  151. data/lib/oneview-sdk/resource/api1200/c7000/logical_interconnect_group.rb +32 -0
  152. data/lib/oneview-sdk/resource/api1200/c7000/network_set.rb +32 -0
  153. data/lib/oneview-sdk/resource/api1200/c7000/scope.rb +22 -0
  154. data/lib/oneview-sdk/resource/api1200/c7000/server_certificate.rb +22 -0
  155. data/lib/oneview-sdk/resource/api1200/c7000/server_hardware.rb +22 -0
  156. data/lib/oneview-sdk/resource/api1200/c7000/server_hardware_type.rb +22 -0
  157. data/lib/oneview-sdk/resource/api1200/c7000/server_profile.rb +32 -0
  158. data/lib/oneview-sdk/resource/api1200/c7000/server_profile_template.rb +33 -0
  159. data/lib/oneview-sdk/resource/api1200/c7000/storage_pool.rb +22 -0
  160. data/lib/oneview-sdk/resource/api1200/c7000/storage_system.rb +22 -0
  161. data/lib/oneview-sdk/resource/api1200/c7000/uplink_set.rb +32 -0
  162. data/lib/oneview-sdk/resource/api1200/c7000/volume.rb +22 -0
  163. data/lib/oneview-sdk/resource/api1200/c7000/volume_attachment.rb +22 -0
  164. data/lib/oneview-sdk/resource/api1200/c7000/volume_template.rb +22 -0
  165. data/lib/oneview-sdk/resource/api1200/synergy.rb +27 -0
  166. data/lib/oneview-sdk/resource/api1200/synergy/connection_template.rb +22 -0
  167. data/lib/oneview-sdk/resource/api1200/synergy/enclosure.rb +32 -0
  168. data/lib/oneview-sdk/resource/api1200/synergy/enclosure_group.rb +36 -0
  169. data/lib/oneview-sdk/resource/api1200/synergy/ethernet_network.rb +35 -0
  170. data/lib/oneview-sdk/resource/api1200/synergy/fc_network.rb +22 -0
  171. data/lib/oneview-sdk/resource/api1200/synergy/fcoe_network.rb +22 -0
  172. data/lib/oneview-sdk/resource/api1200/synergy/firmware_driver.rb +22 -0
  173. data/lib/oneview-sdk/resource/api1200/synergy/hypervisor_cluster_profile.rb +22 -0
  174. data/lib/oneview-sdk/resource/api1200/synergy/hypervisor_manager.rb +22 -0
  175. data/lib/oneview-sdk/resource/api1200/synergy/interconnect.rb +32 -0
  176. data/lib/oneview-sdk/resource/api1200/synergy/lig_uplink_set.rb +21 -0
  177. data/lib/oneview-sdk/resource/api1200/synergy/logical_enclosure.rb +22 -0
  178. data/lib/oneview-sdk/resource/api1200/synergy/logical_interconnect.rb +32 -0
  179. data/lib/oneview-sdk/resource/api1200/synergy/logical_interconnect_group.rb +32 -0
  180. data/lib/oneview-sdk/resource/api1200/synergy/network_set.rb +22 -0
  181. data/lib/oneview-sdk/resource/api1200/synergy/os_deployment_plan.rb +22 -0
  182. data/lib/oneview-sdk/resource/api1200/synergy/sas_logical_interconnect_group.rb +22 -0
  183. data/lib/oneview-sdk/resource/api1200/synergy/scope.rb +22 -0
  184. data/lib/oneview-sdk/resource/api1200/synergy/server_certificate.rb +22 -0
  185. data/lib/oneview-sdk/resource/api1200/synergy/server_hardware.rb +22 -0
  186. data/lib/oneview-sdk/resource/api1200/synergy/server_hardware_type.rb +22 -0
  187. data/lib/oneview-sdk/resource/api1200/synergy/server_profile.rb +25 -0
  188. data/lib/oneview-sdk/resource/api1200/synergy/server_profile_template.rb +22 -0
  189. data/lib/oneview-sdk/resource/api1200/synergy/storage_pool.rb +22 -0
  190. data/lib/oneview-sdk/resource/api1200/synergy/storage_system.rb +22 -0
  191. data/lib/oneview-sdk/resource/api1200/synergy/uplink_set.rb +32 -0
  192. data/lib/oneview-sdk/resource/api1200/synergy/volume.rb +22 -0
  193. data/lib/oneview-sdk/resource/api1200/synergy/volume_attachment.rb +22 -0
  194. data/lib/oneview-sdk/resource/api1200/synergy/volume_template.rb +22 -0
  195. data/lib/oneview-sdk/resource/api1600.rb +66 -0
  196. data/lib/oneview-sdk/resource/api1600/c7000.rb +27 -0
  197. data/lib/oneview-sdk/resource/api1600/c7000/connection_template.rb +22 -0
  198. data/lib/oneview-sdk/resource/api1600/c7000/enclosure.rb +22 -0
  199. data/lib/oneview-sdk/resource/api1600/c7000/enclosure_group.rb +22 -0
  200. data/lib/oneview-sdk/resource/api1600/c7000/ethernet_network.rb +22 -0
  201. data/lib/oneview-sdk/resource/api1600/c7000/fc_network.rb +22 -0
  202. data/lib/oneview-sdk/resource/api1600/c7000/fcoe_network.rb +23 -0
  203. data/lib/oneview-sdk/resource/api1600/c7000/firmware_driver.rb +22 -0
  204. data/lib/oneview-sdk/resource/api1600/c7000/hypervisor_cluster_profile.rb +36 -0
  205. data/lib/oneview-sdk/resource/api1600/c7000/hypervisor_manager.rb +22 -0
  206. data/lib/oneview-sdk/resource/api1600/c7000/interconnect.rb +26 -0
  207. data/lib/oneview-sdk/resource/api1600/c7000/lig_uplink_set.rb +21 -0
  208. data/lib/oneview-sdk/resource/api1600/c7000/logical_enclosure.rb +22 -0
  209. data/lib/oneview-sdk/resource/api1600/c7000/logical_interconnect.rb +32 -0
  210. data/lib/oneview-sdk/resource/api1600/c7000/logical_interconnect_group.rb +36 -0
  211. data/lib/oneview-sdk/resource/api1600/c7000/network_set.rb +22 -0
  212. data/lib/oneview-sdk/resource/api1600/c7000/scope.rb +22 -0
  213. data/lib/oneview-sdk/resource/api1600/c7000/server_certificate.rb +22 -0
  214. data/lib/oneview-sdk/resource/api1600/c7000/server_hardware.rb +22 -0
  215. data/lib/oneview-sdk/resource/api1600/c7000/server_hardware_type.rb +25 -0
  216. data/lib/oneview-sdk/resource/api1600/c7000/server_profile.rb +40 -0
  217. data/lib/oneview-sdk/resource/api1600/c7000/server_profile_template.rb +32 -0
  218. data/lib/oneview-sdk/resource/api1600/c7000/storage_pool.rb +22 -0
  219. data/lib/oneview-sdk/resource/api1600/c7000/storage_system.rb +22 -0
  220. data/lib/oneview-sdk/resource/api1600/c7000/uplink_set.rb +32 -0
  221. data/lib/oneview-sdk/resource/api1600/c7000/volume.rb +22 -0
  222. data/lib/oneview-sdk/resource/api1600/c7000/volume_attachment.rb +22 -0
  223. data/lib/oneview-sdk/resource/api1600/c7000/volume_template.rb +22 -0
  224. data/lib/oneview-sdk/resource/api1600/synergy.rb +27 -0
  225. data/lib/oneview-sdk/resource/api1600/synergy/connection_template.rb +22 -0
  226. data/lib/oneview-sdk/resource/api1600/synergy/enclosure.rb +22 -0
  227. data/lib/oneview-sdk/resource/api1600/synergy/enclosure_group.rb +22 -0
  228. data/lib/oneview-sdk/resource/api1600/synergy/ethernet_network.rb +22 -0
  229. data/lib/oneview-sdk/resource/api1600/synergy/fc_network.rb +22 -0
  230. data/lib/oneview-sdk/resource/api1600/synergy/fcoe_network.rb +22 -0
  231. data/lib/oneview-sdk/resource/api1600/synergy/firmware_driver.rb +22 -0
  232. data/lib/oneview-sdk/resource/api1600/synergy/hypervisor_cluster_profile.rb +22 -0
  233. data/lib/oneview-sdk/resource/api1600/synergy/hypervisor_manager.rb +22 -0
  234. data/lib/oneview-sdk/resource/api1600/synergy/interconnect.rb +25 -0
  235. data/lib/oneview-sdk/resource/api1600/synergy/lig_uplink_set.rb +21 -0
  236. data/lib/oneview-sdk/resource/api1600/synergy/logical_enclosure.rb +22 -0
  237. data/lib/oneview-sdk/resource/api1600/synergy/logical_interconnect.rb +32 -0
  238. data/lib/oneview-sdk/resource/api1600/synergy/logical_interconnect_group.rb +36 -0
  239. data/lib/oneview-sdk/resource/api1600/synergy/network_set.rb +22 -0
  240. data/lib/oneview-sdk/resource/api1600/synergy/os_deployment_plan.rb +22 -0
  241. data/lib/oneview-sdk/resource/api1600/synergy/scope.rb +22 -0
  242. data/lib/oneview-sdk/resource/api1600/synergy/server_certificate.rb +22 -0
  243. data/lib/oneview-sdk/resource/api1600/synergy/server_hardware.rb +22 -0
  244. data/lib/oneview-sdk/resource/api1600/synergy/server_hardware_type.rb +25 -0
  245. data/lib/oneview-sdk/resource/api1600/synergy/server_profile.rb +25 -0
  246. data/lib/oneview-sdk/resource/api1600/synergy/server_profile_template.rb +22 -0
  247. data/lib/oneview-sdk/resource/api1600/synergy/storage_pool.rb +22 -0
  248. data/lib/oneview-sdk/resource/api1600/synergy/storage_system.rb +22 -0
  249. data/lib/oneview-sdk/resource/api1600/synergy/uplink_set.rb +32 -0
  250. data/lib/oneview-sdk/resource/api1600/synergy/volume.rb +22 -0
  251. data/lib/oneview-sdk/resource/api1600/synergy/volume_attachment.rb +22 -0
  252. data/lib/oneview-sdk/resource/api1600/synergy/volume_template.rb +22 -0
  253. data/lib/oneview-sdk/resource/api1800.rb +66 -0
  254. data/lib/oneview-sdk/resource/api1800/c7000.rb +27 -0
  255. data/lib/oneview-sdk/resource/api1800/c7000/connection_template.rb +22 -0
  256. data/lib/oneview-sdk/resource/api1800/c7000/enclosure.rb +22 -0
  257. data/lib/oneview-sdk/resource/api1800/c7000/enclosure_group.rb +22 -0
  258. data/lib/oneview-sdk/resource/api1800/c7000/ethernet_network.rb +28 -0
  259. data/lib/oneview-sdk/resource/api1800/c7000/fc_network.rb +28 -0
  260. data/lib/oneview-sdk/resource/api1800/c7000/fcoe_network.rb +28 -0
  261. data/lib/oneview-sdk/resource/api1800/c7000/firmware_driver.rb +22 -0
  262. data/lib/oneview-sdk/resource/api1800/c7000/hypervisor_cluster_profile.rb +22 -0
  263. data/lib/oneview-sdk/resource/api1800/c7000/hypervisor_manager.rb +22 -0
  264. data/lib/oneview-sdk/resource/api1800/c7000/interconnect.rb +26 -0
  265. data/lib/oneview-sdk/resource/api1800/c7000/lig_uplink_set.rb +21 -0
  266. data/lib/oneview-sdk/resource/api1800/c7000/logical_enclosure.rb +22 -0
  267. data/lib/oneview-sdk/resource/api1800/c7000/logical_interconnect.rb +42 -0
  268. data/lib/oneview-sdk/resource/api1800/c7000/logical_interconnect_group.rb +25 -0
  269. data/lib/oneview-sdk/resource/api1800/c7000/network_set.rb +22 -0
  270. data/lib/oneview-sdk/resource/api1800/c7000/scope.rb +22 -0
  271. data/lib/oneview-sdk/resource/api1800/c7000/server_certificate.rb +22 -0
  272. data/lib/oneview-sdk/resource/api1800/c7000/server_hardware.rb +51 -0
  273. data/lib/oneview-sdk/resource/api1800/c7000/server_hardware_type.rb +25 -0
  274. data/lib/oneview-sdk/resource/api1800/c7000/server_profile.rb +22 -0
  275. data/lib/oneview-sdk/resource/api1800/c7000/server_profile_template.rb +22 -0
  276. data/lib/oneview-sdk/resource/api1800/c7000/storage_pool.rb +22 -0
  277. data/lib/oneview-sdk/resource/api1800/c7000/storage_system.rb +22 -0
  278. data/lib/oneview-sdk/resource/api1800/c7000/uplink_set.rb +22 -0
  279. data/lib/oneview-sdk/resource/api1800/c7000/volume.rb +22 -0
  280. data/lib/oneview-sdk/resource/api1800/c7000/volume_attachment.rb +22 -0
  281. data/lib/oneview-sdk/resource/api1800/c7000/volume_template.rb +22 -0
  282. data/lib/oneview-sdk/resource/api1800/synergy.rb +27 -0
  283. data/lib/oneview-sdk/resource/api1800/synergy/connection_template.rb +22 -0
  284. data/lib/oneview-sdk/resource/api1800/synergy/enclosure.rb +22 -0
  285. data/lib/oneview-sdk/resource/api1800/synergy/enclosure_group.rb +22 -0
  286. data/lib/oneview-sdk/resource/api1800/synergy/ethernet_network.rb +22 -0
  287. data/lib/oneview-sdk/resource/api1800/synergy/fc_network.rb +22 -0
  288. data/lib/oneview-sdk/resource/api1800/synergy/fcoe_network.rb +22 -0
  289. data/lib/oneview-sdk/resource/api1800/synergy/firmware_driver.rb +22 -0
  290. data/lib/oneview-sdk/resource/api1800/synergy/hypervisor_cluster_profile.rb +22 -0
  291. data/lib/oneview-sdk/resource/api1800/synergy/hypervisor_manager.rb +22 -0
  292. data/lib/oneview-sdk/resource/api1800/synergy/interconnect.rb +25 -0
  293. data/lib/oneview-sdk/resource/api1800/synergy/lig_uplink_set.rb +21 -0
  294. data/lib/oneview-sdk/resource/api1800/synergy/logical_enclosure.rb +22 -0
  295. data/lib/oneview-sdk/resource/api1800/synergy/logical_interconnect.rb +22 -0
  296. data/lib/oneview-sdk/resource/api1800/synergy/logical_interconnect_group.rb +25 -0
  297. data/lib/oneview-sdk/resource/api1800/synergy/network_set.rb +22 -0
  298. data/lib/oneview-sdk/resource/api1800/synergy/os_deployment_plan.rb +22 -0
  299. data/lib/oneview-sdk/resource/api1800/synergy/scope.rb +22 -0
  300. data/lib/oneview-sdk/resource/api1800/synergy/server_certificate.rb +22 -0
  301. data/lib/oneview-sdk/resource/api1800/synergy/server_hardware.rb +22 -0
  302. data/lib/oneview-sdk/resource/api1800/synergy/server_hardware_type.rb +22 -0
  303. data/lib/oneview-sdk/resource/api1800/synergy/server_profile.rb +25 -0
  304. data/lib/oneview-sdk/resource/api1800/synergy/server_profile_template.rb +22 -0
  305. data/lib/oneview-sdk/resource/api1800/synergy/storage_pool.rb +22 -0
  306. data/lib/oneview-sdk/resource/api1800/synergy/storage_system.rb +22 -0
  307. data/lib/oneview-sdk/resource/api1800/synergy/uplink_set.rb +22 -0
  308. data/lib/oneview-sdk/resource/api1800/synergy/volume.rb +22 -0
  309. data/lib/oneview-sdk/resource/api1800/synergy/volume_attachment.rb +22 -0
  310. data/lib/oneview-sdk/resource/api1800/synergy/volume_template.rb +22 -0
  311. data/lib/oneview-sdk/resource/api200.rb +34 -0
  312. data/lib/oneview-sdk/resource/api200/alerts.rb +39 -0
  313. data/lib/oneview-sdk/resource/api200/client_certificate.rb +134 -0
  314. data/lib/oneview-sdk/resource/api200/connection_template.rb +53 -0
  315. data/lib/oneview-sdk/resource/api200/datacenter.rb +81 -0
  316. data/lib/oneview-sdk/resource/api200/enclosure.rb +192 -0
  317. data/lib/oneview-sdk/resource/api200/enclosure_group.rb +93 -0
  318. data/lib/oneview-sdk/resource/api200/ethernet_network.rb +60 -0
  319. data/lib/oneview-sdk/resource/api200/event.rb +43 -0
  320. data/lib/oneview-sdk/resource/api200/fabric.rb +45 -0
  321. data/lib/oneview-sdk/resource/api200/fc_network.rb +34 -0
  322. data/lib/oneview-sdk/resource/api200/fcoe_network.rb +32 -0
  323. data/lib/oneview-sdk/resource/api200/firmware_bundle.rb +31 -0
  324. data/lib/oneview-sdk/resource/api200/firmware_driver.rb +37 -0
  325. data/lib/oneview-sdk/resource/api200/id_pool.rb +124 -0
  326. data/lib/oneview-sdk/resource/api200/interconnect.rb +114 -0
  327. data/lib/oneview-sdk/resource/api200/lig_uplink_set.rb +106 -0
  328. data/lib/oneview-sdk/resource/api200/logical_downlink.rb +57 -0
  329. data/lib/oneview-sdk/resource/api200/logical_enclosure.rb +88 -0
  330. data/lib/oneview-sdk/resource/api200/logical_interconnect.rb +267 -0
  331. data/lib/oneview-sdk/resource/api200/logical_interconnect_group.rb +134 -0
  332. data/lib/oneview-sdk/resource/api200/logical_switch.rb +188 -0
  333. data/lib/oneview-sdk/resource/api200/logical_switch_group.rb +70 -0
  334. data/lib/oneview-sdk/resource/api200/login_detail.rb +27 -0
  335. data/lib/oneview-sdk/resource/api200/managed_san.rb +83 -0
  336. data/lib/oneview-sdk/resource/api200/network_set.rb +68 -0
  337. data/lib/oneview-sdk/resource/api200/power_device.rb +178 -0
  338. data/lib/oneview-sdk/resource/api200/rack.rb +95 -0
  339. data/lib/oneview-sdk/resource/api200/resource.rb +18 -0
  340. data/lib/oneview-sdk/resource/api200/san_manager.rb +92 -0
  341. data/lib/oneview-sdk/resource/api200/server_hardware.rb +250 -0
  342. data/lib/oneview-sdk/resource/api200/server_hardware_type.rb +61 -0
  343. data/lib/oneview-sdk/resource/api200/server_profile.rb +396 -0
  344. data/lib/oneview-sdk/resource/api200/server_profile_template.rb +227 -0
  345. data/lib/oneview-sdk/resource/api200/storage_pool.rb +99 -0
  346. data/lib/oneview-sdk/resource/api200/storage_system.rb +159 -0
  347. data/lib/oneview-sdk/resource/api200/switch.rb +85 -0
  348. data/lib/oneview-sdk/resource/api200/unmanaged_device.rb +59 -0
  349. data/lib/oneview-sdk/resource/api200/uplink_set.rb +92 -0
  350. data/lib/oneview-sdk/resource/api200/user.rb +98 -0
  351. data/lib/oneview-sdk/resource/api200/version.rb +27 -0
  352. data/lib/oneview-sdk/resource/api200/volume.rb +191 -0
  353. data/lib/oneview-sdk/resource/api200/volume_attachment.rb +85 -0
  354. data/lib/oneview-sdk/resource/api200/volume_snapshot.rb +50 -0
  355. data/lib/oneview-sdk/resource/api200/volume_template.rb +96 -0
  356. data/lib/oneview-sdk/resource/api200/web_server_certificate.rb +97 -0
  357. data/lib/oneview-sdk/resource/api2000.rb +66 -0
  358. data/lib/oneview-sdk/resource/api2000/c7000.rb +27 -0
  359. data/lib/oneview-sdk/resource/api2000/c7000/connection_template.rb +22 -0
  360. data/lib/oneview-sdk/resource/api2000/c7000/enclosure.rb +22 -0
  361. data/lib/oneview-sdk/resource/api2000/c7000/enclosure_group.rb +22 -0
  362. data/lib/oneview-sdk/resource/api2000/c7000/ethernet_network.rb +22 -0
  363. data/lib/oneview-sdk/resource/api2000/c7000/fc_network.rb +22 -0
  364. data/lib/oneview-sdk/resource/api2000/c7000/fcoe_network.rb +22 -0
  365. data/lib/oneview-sdk/resource/api2000/c7000/firmware_driver.rb +22 -0
  366. data/lib/oneview-sdk/resource/api2000/c7000/hypervisor_cluster_profile.rb +22 -0
  367. data/lib/oneview-sdk/resource/api2000/c7000/hypervisor_manager.rb +22 -0
  368. data/lib/oneview-sdk/resource/api2000/c7000/interconnect.rb +26 -0
  369. data/lib/oneview-sdk/resource/api2000/c7000/lig_uplink_set.rb +21 -0
  370. data/lib/oneview-sdk/resource/api2000/c7000/logical_enclosure.rb +22 -0
  371. data/lib/oneview-sdk/resource/api2000/c7000/logical_interconnect.rb +33 -0
  372. data/lib/oneview-sdk/resource/api2000/c7000/logical_interconnect_group.rb +25 -0
  373. data/lib/oneview-sdk/resource/api2000/c7000/network_set.rb +22 -0
  374. data/lib/oneview-sdk/resource/api2000/c7000/scope.rb +22 -0
  375. data/lib/oneview-sdk/resource/api2000/c7000/server_certificate.rb +22 -0
  376. data/lib/oneview-sdk/resource/api2000/c7000/server_hardware.rb +22 -0
  377. data/lib/oneview-sdk/resource/api2000/c7000/server_hardware_type.rb +25 -0
  378. data/lib/oneview-sdk/resource/api2000/c7000/server_profile.rb +22 -0
  379. data/lib/oneview-sdk/resource/api2000/c7000/server_profile_template.rb +22 -0
  380. data/lib/oneview-sdk/resource/api2000/c7000/storage_pool.rb +22 -0
  381. data/lib/oneview-sdk/resource/api2000/c7000/storage_system.rb +22 -0
  382. data/lib/oneview-sdk/resource/api2000/c7000/uplink_set.rb +22 -0
  383. data/lib/oneview-sdk/resource/api2000/c7000/volume.rb +22 -0
  384. data/lib/oneview-sdk/resource/api2000/c7000/volume_attachment.rb +22 -0
  385. data/lib/oneview-sdk/resource/api2000/c7000/volume_template.rb +22 -0
  386. data/lib/oneview-sdk/resource/api2000/synergy.rb +27 -0
  387. data/lib/oneview-sdk/resource/api2000/synergy/connection_template.rb +22 -0
  388. data/lib/oneview-sdk/resource/api2000/synergy/enclosure.rb +22 -0
  389. data/lib/oneview-sdk/resource/api2000/synergy/enclosure_group.rb +22 -0
  390. data/lib/oneview-sdk/resource/api2000/synergy/ethernet_network.rb +22 -0
  391. data/lib/oneview-sdk/resource/api2000/synergy/fc_network.rb +22 -0
  392. data/lib/oneview-sdk/resource/api2000/synergy/fcoe_network.rb +22 -0
  393. data/lib/oneview-sdk/resource/api2000/synergy/firmware_driver.rb +22 -0
  394. data/lib/oneview-sdk/resource/api2000/synergy/hypervisor_cluster_profile.rb +22 -0
  395. data/lib/oneview-sdk/resource/api2000/synergy/hypervisor_manager.rb +22 -0
  396. data/lib/oneview-sdk/resource/api2000/synergy/interconnect.rb +25 -0
  397. data/lib/oneview-sdk/resource/api2000/synergy/lig_uplink_set.rb +21 -0
  398. data/lib/oneview-sdk/resource/api2000/synergy/logical_enclosure.rb +22 -0
  399. data/lib/oneview-sdk/resource/api2000/synergy/logical_interconnect.rb +22 -0
  400. data/lib/oneview-sdk/resource/api2000/synergy/logical_interconnect_group.rb +25 -0
  401. data/lib/oneview-sdk/resource/api2000/synergy/network_set.rb +22 -0
  402. data/lib/oneview-sdk/resource/api2000/synergy/os_deployment_plan.rb +22 -0
  403. data/lib/oneview-sdk/resource/api2000/synergy/scope.rb +22 -0
  404. data/lib/oneview-sdk/resource/api2000/synergy/server_certificate.rb +22 -0
  405. data/lib/oneview-sdk/resource/api2000/synergy/server_hardware.rb +22 -0
  406. data/lib/oneview-sdk/resource/api2000/synergy/server_hardware_type.rb +22 -0
  407. data/lib/oneview-sdk/resource/api2000/synergy/server_profile.rb +25 -0
  408. data/lib/oneview-sdk/resource/api2000/synergy/server_profile_template.rb +22 -0
  409. data/lib/oneview-sdk/resource/api2000/synergy/storage_pool.rb +22 -0
  410. data/lib/oneview-sdk/resource/api2000/synergy/storage_system.rb +22 -0
  411. data/lib/oneview-sdk/resource/api2000/synergy/uplink_set.rb +22 -0
  412. data/lib/oneview-sdk/resource/api2000/synergy/volume.rb +22 -0
  413. data/lib/oneview-sdk/resource/api2000/synergy/volume_attachment.rb +22 -0
  414. data/lib/oneview-sdk/resource/api2000/synergy/volume_template.rb +22 -0
  415. data/lib/oneview-sdk/resource/api300.rb +66 -0
  416. data/lib/oneview-sdk/resource/api300/c7000.rb +27 -0
  417. data/lib/oneview-sdk/resource/api300/c7000/alerts.rb +22 -0
  418. data/lib/oneview-sdk/resource/api300/c7000/client_certificate.rb +22 -0
  419. data/lib/oneview-sdk/resource/api300/c7000/connection_template.rb +22 -0
  420. data/lib/oneview-sdk/resource/api300/c7000/datacenter.rb +22 -0
  421. data/lib/oneview-sdk/resource/api300/c7000/enclosure.rb +36 -0
  422. data/lib/oneview-sdk/resource/api300/c7000/enclosure_group.rb +89 -0
  423. data/lib/oneview-sdk/resource/api300/c7000/ethernet_network.rb +37 -0
  424. data/lib/oneview-sdk/resource/api300/c7000/event.rb +22 -0
  425. data/lib/oneview-sdk/resource/api300/c7000/fabric.rb +22 -0
  426. data/lib/oneview-sdk/resource/api300/c7000/fc_network.rb +39 -0
  427. data/lib/oneview-sdk/resource/api300/c7000/fcoe_network.rb +37 -0
  428. data/lib/oneview-sdk/resource/api300/c7000/firmware_bundle.rb +21 -0
  429. data/lib/oneview-sdk/resource/api300/c7000/firmware_driver.rb +22 -0
  430. data/lib/oneview-sdk/resource/api300/c7000/id_pool.rb +22 -0
  431. data/lib/oneview-sdk/resource/api300/c7000/interconnect.rb +33 -0
  432. data/lib/oneview-sdk/resource/api300/c7000/internal_link_set.rb +58 -0
  433. data/lib/oneview-sdk/resource/api300/c7000/lig_uplink_set.rb +21 -0
  434. data/lib/oneview-sdk/resource/api300/c7000/logical_downlink.rb +34 -0
  435. data/lib/oneview-sdk/resource/api300/c7000/logical_enclosure.rb +37 -0
  436. data/lib/oneview-sdk/resource/api300/c7000/logical_interconnect.rb +45 -0
  437. data/lib/oneview-sdk/resource/api300/c7000/logical_interconnect_group.rb +35 -0
  438. data/lib/oneview-sdk/resource/api300/c7000/logical_switch.rb +36 -0
  439. data/lib/oneview-sdk/resource/api300/c7000/logical_switch_group.rb +35 -0
  440. data/lib/oneview-sdk/resource/api300/c7000/login_detail.rb +23 -0
  441. data/lib/oneview-sdk/resource/api300/c7000/managed_san.rb +36 -0
  442. data/lib/oneview-sdk/resource/api300/c7000/network_set.rb +39 -0
  443. data/lib/oneview-sdk/resource/api300/c7000/power_device.rb +21 -0
  444. data/lib/oneview-sdk/resource/api300/c7000/rack.rb +22 -0
  445. data/lib/oneview-sdk/resource/api300/c7000/resource.rb +21 -0
  446. data/lib/oneview-sdk/resource/api300/c7000/san_manager.rb +22 -0
  447. data/lib/oneview-sdk/resource/api300/c7000/scope.rb +140 -0
  448. data/lib/oneview-sdk/resource/api300/c7000/server_hardware.rb +67 -0
  449. data/lib/oneview-sdk/resource/api300/c7000/server_hardware_type.rb +21 -0
  450. data/lib/oneview-sdk/resource/api300/c7000/server_profile.rb +33 -0
  451. data/lib/oneview-sdk/resource/api300/c7000/server_profile_template.rb +50 -0
  452. data/lib/oneview-sdk/resource/api300/c7000/storage_pool.rb +29 -0
  453. data/lib/oneview-sdk/resource/api300/c7000/storage_system.rb +21 -0
  454. data/lib/oneview-sdk/resource/api300/c7000/switch.rb +43 -0
  455. data/lib/oneview-sdk/resource/api300/c7000/unmanaged_device.rb +22 -0
  456. data/lib/oneview-sdk/resource/api300/c7000/uplink_set.rb +33 -0
  457. data/lib/oneview-sdk/resource/api300/c7000/user.rb +22 -0
  458. data/lib/oneview-sdk/resource/api300/c7000/version.rb +23 -0
  459. data/lib/oneview-sdk/resource/api300/c7000/volume.rb +22 -0
  460. data/lib/oneview-sdk/resource/api300/c7000/volume_attachment.rb +22 -0
  461. data/lib/oneview-sdk/resource/api300/c7000/volume_snapshot.rb +21 -0
  462. data/lib/oneview-sdk/resource/api300/c7000/volume_template.rb +32 -0
  463. data/lib/oneview-sdk/resource/api300/c7000/web_server_certificate.rb +22 -0
  464. data/lib/oneview-sdk/resource/api300/synergy.rb +27 -0
  465. data/lib/oneview-sdk/resource/api300/synergy/alerts.rb +22 -0
  466. data/lib/oneview-sdk/resource/api300/synergy/client_certificate.rb +22 -0
  467. data/lib/oneview-sdk/resource/api300/synergy/connection_template.rb +22 -0
  468. data/lib/oneview-sdk/resource/api300/synergy/datacenter.rb +22 -0
  469. data/lib/oneview-sdk/resource/api300/synergy/drive_enclosure.rb +71 -0
  470. data/lib/oneview-sdk/resource/api300/synergy/enclosure.rb +83 -0
  471. data/lib/oneview-sdk/resource/api300/synergy/enclosure_group.rb +40 -0
  472. data/lib/oneview-sdk/resource/api300/synergy/ethernet_network.rb +37 -0
  473. data/lib/oneview-sdk/resource/api300/synergy/event.rb +22 -0
  474. data/lib/oneview-sdk/resource/api300/synergy/fabric.rb +46 -0
  475. data/lib/oneview-sdk/resource/api300/synergy/fc_network.rb +39 -0
  476. data/lib/oneview-sdk/resource/api300/synergy/fcoe_network.rb +24 -0
  477. data/lib/oneview-sdk/resource/api300/synergy/firmware_bundle.rb +21 -0
  478. data/lib/oneview-sdk/resource/api300/synergy/firmware_driver.rb +22 -0
  479. data/lib/oneview-sdk/resource/api300/synergy/id_pool.rb +22 -0
  480. data/lib/oneview-sdk/resource/api300/synergy/interconnect.rb +53 -0
  481. data/lib/oneview-sdk/resource/api300/synergy/internal_link_set.rb +22 -0
  482. data/lib/oneview-sdk/resource/api300/synergy/lig_uplink_set.rb +21 -0
  483. data/lib/oneview-sdk/resource/api300/synergy/logical_downlink.rb +22 -0
  484. data/lib/oneview-sdk/resource/api300/synergy/logical_enclosure.rb +59 -0
  485. data/lib/oneview-sdk/resource/api300/synergy/logical_interconnect.rb +22 -0
  486. data/lib/oneview-sdk/resource/api300/synergy/logical_interconnect_group.rb +122 -0
  487. data/lib/oneview-sdk/resource/api300/synergy/login_detail.rb +23 -0
  488. data/lib/oneview-sdk/resource/api300/synergy/managed_san.rb +23 -0
  489. data/lib/oneview-sdk/resource/api300/synergy/network_set.rb +22 -0
  490. data/lib/oneview-sdk/resource/api300/synergy/os_deployment_plan.rb +41 -0
  491. data/lib/oneview-sdk/resource/api300/synergy/power_device.rb +21 -0
  492. data/lib/oneview-sdk/resource/api300/synergy/rack.rb +22 -0
  493. data/lib/oneview-sdk/resource/api300/synergy/resource.rb +21 -0
  494. data/lib/oneview-sdk/resource/api300/synergy/san_manager.rb +22 -0
  495. data/lib/oneview-sdk/resource/api300/synergy/sas_interconnect.rb +87 -0
  496. data/lib/oneview-sdk/resource/api300/synergy/sas_logical_interconnect.rb +103 -0
  497. data/lib/oneview-sdk/resource/api300/synergy/sas_logical_interconnect_group.rb +87 -0
  498. data/lib/oneview-sdk/resource/api300/synergy/scope.rb +22 -0
  499. data/lib/oneview-sdk/resource/api300/synergy/server_hardware.rb +30 -0
  500. data/lib/oneview-sdk/resource/api300/synergy/server_hardware_type.rb +21 -0
  501. data/lib/oneview-sdk/resource/api300/synergy/server_profile.rb +88 -0
  502. data/lib/oneview-sdk/resource/api300/synergy/server_profile_template.rb +22 -0
  503. data/lib/oneview-sdk/resource/api300/synergy/storage_pool.rb +22 -0
  504. data/lib/oneview-sdk/resource/api300/synergy/storage_system.rb +21 -0
  505. data/lib/oneview-sdk/resource/api300/synergy/switch.rb +37 -0
  506. data/lib/oneview-sdk/resource/api300/synergy/unmanaged_device.rb +22 -0
  507. data/lib/oneview-sdk/resource/api300/synergy/uplink_set.rb +33 -0
  508. data/lib/oneview-sdk/resource/api300/synergy/user.rb +22 -0
  509. data/lib/oneview-sdk/resource/api300/synergy/version.rb +23 -0
  510. data/lib/oneview-sdk/resource/api300/synergy/volume.rb +22 -0
  511. data/lib/oneview-sdk/resource/api300/synergy/volume_attachment.rb +22 -0
  512. data/lib/oneview-sdk/resource/api300/synergy/volume_snapshot.rb +21 -0
  513. data/lib/oneview-sdk/resource/api300/synergy/volume_template.rb +32 -0
  514. data/lib/oneview-sdk/resource/api300/synergy/web_server_certificate.rb +22 -0
  515. data/lib/oneview-sdk/resource/api500.rb +66 -0
  516. data/lib/oneview-sdk/resource/api500/c7000.rb +27 -0
  517. data/lib/oneview-sdk/resource/api500/c7000/alerts.rb +22 -0
  518. data/lib/oneview-sdk/resource/api500/c7000/client_certificate.rb +22 -0
  519. data/lib/oneview-sdk/resource/api500/c7000/connection_template.rb +22 -0
  520. data/lib/oneview-sdk/resource/api500/c7000/datacenter.rb +22 -0
  521. data/lib/oneview-sdk/resource/api500/c7000/enclosure.rb +57 -0
  522. data/lib/oneview-sdk/resource/api500/c7000/enclosure_group.rb +43 -0
  523. data/lib/oneview-sdk/resource/api500/c7000/ethernet_network.rb +22 -0
  524. data/lib/oneview-sdk/resource/api500/c7000/event.rb +22 -0
  525. data/lib/oneview-sdk/resource/api500/c7000/fabric.rb +22 -0
  526. data/lib/oneview-sdk/resource/api500/c7000/fc_network.rb +24 -0
  527. data/lib/oneview-sdk/resource/api500/c7000/fcoe_network.rb +22 -0
  528. data/lib/oneview-sdk/resource/api500/c7000/firmware_bundle.rb +21 -0
  529. data/lib/oneview-sdk/resource/api500/c7000/firmware_driver.rb +22 -0
  530. data/lib/oneview-sdk/resource/api500/c7000/id_pool.rb +22 -0
  531. data/lib/oneview-sdk/resource/api500/c7000/interconnect.rb +31 -0
  532. data/lib/oneview-sdk/resource/api500/c7000/internal_link_set.rb +22 -0
  533. data/lib/oneview-sdk/resource/api500/c7000/lig_uplink_set.rb +21 -0
  534. data/lib/oneview-sdk/resource/api500/c7000/logical_downlink.rb +22 -0
  535. data/lib/oneview-sdk/resource/api500/c7000/logical_enclosure.rb +62 -0
  536. data/lib/oneview-sdk/resource/api500/c7000/logical_interconnect.rb +22 -0
  537. data/lib/oneview-sdk/resource/api500/c7000/logical_interconnect_group.rb +22 -0
  538. data/lib/oneview-sdk/resource/api500/c7000/logical_switch.rb +22 -0
  539. data/lib/oneview-sdk/resource/api500/c7000/logical_switch_group.rb +22 -0
  540. data/lib/oneview-sdk/resource/api500/c7000/login_detail.rb +23 -0
  541. data/lib/oneview-sdk/resource/api500/c7000/managed_san.rb +32 -0
  542. data/lib/oneview-sdk/resource/api500/c7000/network_set.rb +22 -0
  543. data/lib/oneview-sdk/resource/api500/c7000/power_device.rb +21 -0
  544. data/lib/oneview-sdk/resource/api500/c7000/rack.rb +22 -0
  545. data/lib/oneview-sdk/resource/api500/c7000/resource.rb +21 -0
  546. data/lib/oneview-sdk/resource/api500/c7000/san_manager.rb +22 -0
  547. data/lib/oneview-sdk/resource/api500/c7000/scope.rb +71 -0
  548. data/lib/oneview-sdk/resource/api500/c7000/server_hardware.rb +42 -0
  549. data/lib/oneview-sdk/resource/api500/c7000/server_hardware_type.rb +22 -0
  550. data/lib/oneview-sdk/resource/api500/c7000/server_profile.rb +81 -0
  551. data/lib/oneview-sdk/resource/api500/c7000/server_profile_template.rb +108 -0
  552. data/lib/oneview-sdk/resource/api500/c7000/storage_pool.rb +116 -0
  553. data/lib/oneview-sdk/resource/api500/c7000/storage_system.rb +154 -0
  554. data/lib/oneview-sdk/resource/api500/c7000/switch.rb +29 -0
  555. data/lib/oneview-sdk/resource/api500/c7000/unmanaged_device.rb +22 -0
  556. data/lib/oneview-sdk/resource/api500/c7000/uplink_set.rb +22 -0
  557. data/lib/oneview-sdk/resource/api500/c7000/user.rb +22 -0
  558. data/lib/oneview-sdk/resource/api500/c7000/version.rb +23 -0
  559. data/lib/oneview-sdk/resource/api500/c7000/volume.rb +221 -0
  560. data/lib/oneview-sdk/resource/api500/c7000/volume_attachment.rb +45 -0
  561. data/lib/oneview-sdk/resource/api500/c7000/volume_snapshot.rb +32 -0
  562. data/lib/oneview-sdk/resource/api500/c7000/volume_template.rb +111 -0
  563. data/lib/oneview-sdk/resource/api500/c7000/web_server_certificate.rb +22 -0
  564. data/lib/oneview-sdk/resource/api500/synergy.rb +27 -0
  565. data/lib/oneview-sdk/resource/api500/synergy/alerts.rb +22 -0
  566. data/lib/oneview-sdk/resource/api500/synergy/client_certificate.rb +22 -0
  567. data/lib/oneview-sdk/resource/api500/synergy/connection_template.rb +22 -0
  568. data/lib/oneview-sdk/resource/api500/synergy/datacenter.rb +22 -0
  569. data/lib/oneview-sdk/resource/api500/synergy/drive_enclosure.rb +22 -0
  570. data/lib/oneview-sdk/resource/api500/synergy/enclosure.rb +57 -0
  571. data/lib/oneview-sdk/resource/api500/synergy/enclosure_group.rb +49 -0
  572. data/lib/oneview-sdk/resource/api500/synergy/ethernet_network.rb +22 -0
  573. data/lib/oneview-sdk/resource/api500/synergy/event.rb +22 -0
  574. data/lib/oneview-sdk/resource/api500/synergy/fabric.rb +22 -0
  575. data/lib/oneview-sdk/resource/api500/synergy/fc_network.rb +24 -0
  576. data/lib/oneview-sdk/resource/api500/synergy/fcoe_network.rb +22 -0
  577. data/lib/oneview-sdk/resource/api500/synergy/firmware_bundle.rb +21 -0
  578. data/lib/oneview-sdk/resource/api500/synergy/firmware_driver.rb +22 -0
  579. data/lib/oneview-sdk/resource/api500/synergy/id_pool.rb +22 -0
  580. data/lib/oneview-sdk/resource/api500/synergy/interconnect.rb +38 -0
  581. data/lib/oneview-sdk/resource/api500/synergy/internal_link_set.rb +22 -0
  582. data/lib/oneview-sdk/resource/api500/synergy/lig_uplink_set.rb +21 -0
  583. data/lib/oneview-sdk/resource/api500/synergy/logical_downlink.rb +22 -0
  584. data/lib/oneview-sdk/resource/api500/synergy/logical_enclosure.rb +39 -0
  585. data/lib/oneview-sdk/resource/api500/synergy/logical_interconnect.rb +22 -0
  586. data/lib/oneview-sdk/resource/api500/synergy/logical_interconnect_group.rb +22 -0
  587. data/lib/oneview-sdk/resource/api500/synergy/login_detail.rb +23 -0
  588. data/lib/oneview-sdk/resource/api500/synergy/managed_san.rb +22 -0
  589. data/lib/oneview-sdk/resource/api500/synergy/network_set.rb +22 -0
  590. data/lib/oneview-sdk/resource/api500/synergy/os_deployment_plan.rb +22 -0
  591. data/lib/oneview-sdk/resource/api500/synergy/power_device.rb +21 -0
  592. data/lib/oneview-sdk/resource/api500/synergy/rack.rb +22 -0
  593. data/lib/oneview-sdk/resource/api500/synergy/resource.rb +21 -0
  594. data/lib/oneview-sdk/resource/api500/synergy/san_manager.rb +22 -0
  595. data/lib/oneview-sdk/resource/api500/synergy/sas_interconnect.rb +22 -0
  596. data/lib/oneview-sdk/resource/api500/synergy/sas_logical_interconnect.rb +22 -0
  597. data/lib/oneview-sdk/resource/api500/synergy/sas_logical_interconnect_group.rb +22 -0
  598. data/lib/oneview-sdk/resource/api500/synergy/scope.rb +22 -0
  599. data/lib/oneview-sdk/resource/api500/synergy/server_hardware.rb +22 -0
  600. data/lib/oneview-sdk/resource/api500/synergy/server_hardware_type.rb +22 -0
  601. data/lib/oneview-sdk/resource/api500/synergy/server_profile.rb +25 -0
  602. data/lib/oneview-sdk/resource/api500/synergy/server_profile_template.rb +36 -0
  603. data/lib/oneview-sdk/resource/api500/synergy/storage_pool.rb +22 -0
  604. data/lib/oneview-sdk/resource/api500/synergy/storage_system.rb +22 -0
  605. data/lib/oneview-sdk/resource/api500/synergy/switch.rb +22 -0
  606. data/lib/oneview-sdk/resource/api500/synergy/unmanaged_device.rb +22 -0
  607. data/lib/oneview-sdk/resource/api500/synergy/uplink_set.rb +22 -0
  608. data/lib/oneview-sdk/resource/api500/synergy/user.rb +22 -0
  609. data/lib/oneview-sdk/resource/api500/synergy/version.rb +23 -0
  610. data/lib/oneview-sdk/resource/api500/synergy/volume.rb +22 -0
  611. data/lib/oneview-sdk/resource/api500/synergy/volume_attachment.rb +22 -0
  612. data/lib/oneview-sdk/resource/api500/synergy/volume_snapshot.rb +22 -0
  613. data/lib/oneview-sdk/resource/api500/synergy/volume_template.rb +22 -0
  614. data/lib/oneview-sdk/resource/api500/synergy/web_server_certificate.rb +22 -0
  615. data/lib/oneview-sdk/resource/api600.rb +66 -0
  616. data/lib/oneview-sdk/resource/api600/c7000.rb +27 -0
  617. data/lib/oneview-sdk/resource/api600/c7000/alerts.rb +22 -0
  618. data/lib/oneview-sdk/resource/api600/c7000/client_certificate.rb +22 -0
  619. data/lib/oneview-sdk/resource/api600/c7000/connection_template.rb +22 -0
  620. data/lib/oneview-sdk/resource/api600/c7000/datacenter.rb +22 -0
  621. data/lib/oneview-sdk/resource/api600/c7000/enclosure.rb +71 -0
  622. data/lib/oneview-sdk/resource/api600/c7000/enclosure_group.rb +39 -0
  623. data/lib/oneview-sdk/resource/api600/c7000/ethernet_network.rb +47 -0
  624. data/lib/oneview-sdk/resource/api600/c7000/event.rb +22 -0
  625. data/lib/oneview-sdk/resource/api600/c7000/fabric.rb +22 -0
  626. data/lib/oneview-sdk/resource/api600/c7000/fc_network.rb +35 -0
  627. data/lib/oneview-sdk/resource/api600/c7000/fcoe_network.rb +33 -0
  628. data/lib/oneview-sdk/resource/api600/c7000/firmware_bundle.rb +21 -0
  629. data/lib/oneview-sdk/resource/api600/c7000/firmware_driver.rb +22 -0
  630. data/lib/oneview-sdk/resource/api600/c7000/id_pool.rb +22 -0
  631. data/lib/oneview-sdk/resource/api600/c7000/interconnect.rb +34 -0
  632. data/lib/oneview-sdk/resource/api600/c7000/internal_link_set.rb +22 -0
  633. data/lib/oneview-sdk/resource/api600/c7000/lig_uplink_set.rb +21 -0
  634. data/lib/oneview-sdk/resource/api600/c7000/logical_downlink.rb +22 -0
  635. data/lib/oneview-sdk/resource/api600/c7000/logical_enclosure.rb +22 -0
  636. data/lib/oneview-sdk/resource/api600/c7000/logical_interconnect.rb +39 -0
  637. data/lib/oneview-sdk/resource/api600/c7000/logical_interconnect_group.rb +33 -0
  638. data/lib/oneview-sdk/resource/api600/c7000/logical_switch.rb +32 -0
  639. data/lib/oneview-sdk/resource/api600/c7000/logical_switch_group.rb +32 -0
  640. data/lib/oneview-sdk/resource/api600/c7000/login_detail.rb +23 -0
  641. data/lib/oneview-sdk/resource/api600/c7000/managed_san.rb +22 -0
  642. data/lib/oneview-sdk/resource/api600/c7000/network_set.rb +32 -0
  643. data/lib/oneview-sdk/resource/api600/c7000/power_device.rb +21 -0
  644. data/lib/oneview-sdk/resource/api600/c7000/rack.rb +22 -0
  645. data/lib/oneview-sdk/resource/api600/c7000/resource.rb +21 -0
  646. data/lib/oneview-sdk/resource/api600/c7000/san_manager.rb +22 -0
  647. data/lib/oneview-sdk/resource/api600/c7000/scope.rb +103 -0
  648. data/lib/oneview-sdk/resource/api600/c7000/server_certificate.rb +63 -0
  649. data/lib/oneview-sdk/resource/api600/c7000/server_hardware.rb +44 -0
  650. data/lib/oneview-sdk/resource/api600/c7000/server_hardware_type.rb +22 -0
  651. data/lib/oneview-sdk/resource/api600/c7000/server_profile.rb +82 -0
  652. data/lib/oneview-sdk/resource/api600/c7000/server_profile_template.rb +49 -0
  653. data/lib/oneview-sdk/resource/api600/c7000/storage_pool.rb +32 -0
  654. data/lib/oneview-sdk/resource/api600/c7000/storage_system.rb +22 -0
  655. data/lib/oneview-sdk/resource/api600/c7000/switch.rb +22 -0
  656. data/lib/oneview-sdk/resource/api600/c7000/unmanaged_device.rb +22 -0
  657. data/lib/oneview-sdk/resource/api600/c7000/uplink_set.rb +33 -0
  658. data/lib/oneview-sdk/resource/api600/c7000/user.rb +22 -0
  659. data/lib/oneview-sdk/resource/api600/c7000/version.rb +23 -0
  660. data/lib/oneview-sdk/resource/api600/c7000/volume.rb +22 -0
  661. data/lib/oneview-sdk/resource/api600/c7000/volume_attachment.rb +45 -0
  662. data/lib/oneview-sdk/resource/api600/c7000/volume_snapshot.rb +32 -0
  663. data/lib/oneview-sdk/resource/api600/c7000/volume_template.rb +34 -0
  664. data/lib/oneview-sdk/resource/api600/c7000/web_server_certificate.rb +22 -0
  665. data/lib/oneview-sdk/resource/api600/synergy.rb +27 -0
  666. data/lib/oneview-sdk/resource/api600/synergy/alerts.rb +22 -0
  667. data/lib/oneview-sdk/resource/api600/synergy/client_certificate.rb +22 -0
  668. data/lib/oneview-sdk/resource/api600/synergy/connection_template.rb +22 -0
  669. data/lib/oneview-sdk/resource/api600/synergy/datacenter.rb +22 -0
  670. data/lib/oneview-sdk/resource/api600/synergy/drive_enclosure.rb +22 -0
  671. data/lib/oneview-sdk/resource/api600/synergy/enclosure.rb +71 -0
  672. data/lib/oneview-sdk/resource/api600/synergy/enclosure_group.rb +41 -0
  673. data/lib/oneview-sdk/resource/api600/synergy/ethernet_network.rb +47 -0
  674. data/lib/oneview-sdk/resource/api600/synergy/event.rb +22 -0
  675. data/lib/oneview-sdk/resource/api600/synergy/fabric.rb +22 -0
  676. data/lib/oneview-sdk/resource/api600/synergy/fc_network.rb +35 -0
  677. data/lib/oneview-sdk/resource/api600/synergy/fcoe_network.rb +33 -0
  678. data/lib/oneview-sdk/resource/api600/synergy/firmware_bundle.rb +21 -0
  679. data/lib/oneview-sdk/resource/api600/synergy/firmware_driver.rb +22 -0
  680. data/lib/oneview-sdk/resource/api600/synergy/id_pool.rb +22 -0
  681. data/lib/oneview-sdk/resource/api600/synergy/interconnect.rb +38 -0
  682. data/lib/oneview-sdk/resource/api600/synergy/internal_link_set.rb +22 -0
  683. data/lib/oneview-sdk/resource/api600/synergy/lig_uplink_set.rb +21 -0
  684. data/lib/oneview-sdk/resource/api600/synergy/logical_downlink.rb +22 -0
  685. data/lib/oneview-sdk/resource/api600/synergy/logical_enclosure.rb +22 -0
  686. data/lib/oneview-sdk/resource/api600/synergy/logical_interconnect.rb +39 -0
  687. data/lib/oneview-sdk/resource/api600/synergy/logical_interconnect_group.rb +22 -0
  688. data/lib/oneview-sdk/resource/api600/synergy/login_detail.rb +23 -0
  689. data/lib/oneview-sdk/resource/api600/synergy/managed_san.rb +22 -0
  690. data/lib/oneview-sdk/resource/api600/synergy/network_set.rb +22 -0
  691. data/lib/oneview-sdk/resource/api600/synergy/os_deployment_plan.rb +22 -0
  692. data/lib/oneview-sdk/resource/api600/synergy/power_device.rb +21 -0
  693. data/lib/oneview-sdk/resource/api600/synergy/rack.rb +22 -0
  694. data/lib/oneview-sdk/resource/api600/synergy/resource.rb +21 -0
  695. data/lib/oneview-sdk/resource/api600/synergy/san_manager.rb +22 -0
  696. data/lib/oneview-sdk/resource/api600/synergy/sas_interconnect.rb +22 -0
  697. data/lib/oneview-sdk/resource/api600/synergy/sas_logical_interconnect.rb +22 -0
  698. data/lib/oneview-sdk/resource/api600/synergy/sas_logical_interconnect_group.rb +33 -0
  699. data/lib/oneview-sdk/resource/api600/synergy/scope.rb +22 -0
  700. data/lib/oneview-sdk/resource/api600/synergy/server_certificate.rb +22 -0
  701. data/lib/oneview-sdk/resource/api600/synergy/server_hardware.rb +33 -0
  702. data/lib/oneview-sdk/resource/api600/synergy/server_hardware_type.rb +22 -0
  703. data/lib/oneview-sdk/resource/api600/synergy/server_profile.rb +25 -0
  704. data/lib/oneview-sdk/resource/api600/synergy/server_profile_template.rb +22 -0
  705. data/lib/oneview-sdk/resource/api600/synergy/storage_pool.rb +22 -0
  706. data/lib/oneview-sdk/resource/api600/synergy/storage_system.rb +22 -0
  707. data/lib/oneview-sdk/resource/api600/synergy/switch.rb +22 -0
  708. data/lib/oneview-sdk/resource/api600/synergy/unmanaged_device.rb +22 -0
  709. data/lib/oneview-sdk/resource/api600/synergy/uplink_set.rb +33 -0
  710. data/lib/oneview-sdk/resource/api600/synergy/user.rb +22 -0
  711. data/lib/oneview-sdk/resource/api600/synergy/version.rb +23 -0
  712. data/lib/oneview-sdk/resource/api600/synergy/volume.rb +22 -0
  713. data/lib/oneview-sdk/resource/api600/synergy/volume_attachment.rb +22 -0
  714. data/lib/oneview-sdk/resource/api600/synergy/volume_snapshot.rb +22 -0
  715. data/lib/oneview-sdk/resource/api600/synergy/volume_template.rb +22 -0
  716. data/lib/oneview-sdk/resource/api600/synergy/web_server_certificate.rb +22 -0
  717. data/lib/oneview-sdk/resource/api800.rb +66 -0
  718. data/lib/oneview-sdk/resource/api800/c7000.rb +27 -0
  719. data/lib/oneview-sdk/resource/api800/c7000/connection_template.rb +22 -0
  720. data/lib/oneview-sdk/resource/api800/c7000/enclosure.rb +22 -0
  721. data/lib/oneview-sdk/resource/api800/c7000/enclosure_group.rb +22 -0
  722. data/lib/oneview-sdk/resource/api800/c7000/ethernet_network.rb +22 -0
  723. data/lib/oneview-sdk/resource/api800/c7000/fc_network.rb +22 -0
  724. data/lib/oneview-sdk/resource/api800/c7000/fcoe_network.rb +23 -0
  725. data/lib/oneview-sdk/resource/api800/c7000/firmware_driver.rb +22 -0
  726. data/lib/oneview-sdk/resource/api800/c7000/hypervisor_cluster_profile.rb +39 -0
  727. data/lib/oneview-sdk/resource/api800/c7000/hypervisor_manager.rb +33 -0
  728. data/lib/oneview-sdk/resource/api800/c7000/interconnect.rb +23 -0
  729. data/lib/oneview-sdk/resource/api800/c7000/lig_uplink_set.rb +21 -0
  730. data/lib/oneview-sdk/resource/api800/c7000/logical_enclosure.rb +22 -0
  731. data/lib/oneview-sdk/resource/api800/c7000/logical_interconnect.rb +32 -0
  732. data/lib/oneview-sdk/resource/api800/c7000/logical_interconnect_group.rb +32 -0
  733. data/lib/oneview-sdk/resource/api800/c7000/network_set.rb +22 -0
  734. data/lib/oneview-sdk/resource/api800/c7000/scope.rb +22 -0
  735. data/lib/oneview-sdk/resource/api800/c7000/server_certificate.rb +22 -0
  736. data/lib/oneview-sdk/resource/api800/c7000/server_hardware.rb +22 -0
  737. data/lib/oneview-sdk/resource/api800/c7000/server_hardware_type.rb +32 -0
  738. data/lib/oneview-sdk/resource/api800/c7000/server_profile.rb +32 -0
  739. data/lib/oneview-sdk/resource/api800/c7000/server_profile_template.rb +33 -0
  740. data/lib/oneview-sdk/resource/api800/c7000/storage_pool.rb +22 -0
  741. data/lib/oneview-sdk/resource/api800/c7000/storage_system.rb +22 -0
  742. data/lib/oneview-sdk/resource/api800/c7000/uplink_set.rb +22 -0
  743. data/lib/oneview-sdk/resource/api800/c7000/volume.rb +22 -0
  744. data/lib/oneview-sdk/resource/api800/c7000/volume_attachment.rb +22 -0
  745. data/lib/oneview-sdk/resource/api800/c7000/volume_template.rb +22 -0
  746. data/lib/oneview-sdk/resource/api800/synergy.rb +27 -0
  747. data/lib/oneview-sdk/resource/api800/synergy/connection_template.rb +22 -0
  748. data/lib/oneview-sdk/resource/api800/synergy/enclosure.rb +22 -0
  749. data/lib/oneview-sdk/resource/api800/synergy/enclosure_group.rb +22 -0
  750. data/lib/oneview-sdk/resource/api800/synergy/ethernet_network.rb +22 -0
  751. data/lib/oneview-sdk/resource/api800/synergy/fc_network.rb +22 -0
  752. data/lib/oneview-sdk/resource/api800/synergy/fcoe_network.rb +22 -0
  753. data/lib/oneview-sdk/resource/api800/synergy/firmware_driver.rb +22 -0
  754. data/lib/oneview-sdk/resource/api800/synergy/hypervisor_cluster_profile.rb +22 -0
  755. data/lib/oneview-sdk/resource/api800/synergy/hypervisor_manager.rb +22 -0
  756. data/lib/oneview-sdk/resource/api800/synergy/interconnect.rb +22 -0
  757. data/lib/oneview-sdk/resource/api800/synergy/lig_uplink_set.rb +21 -0
  758. data/lib/oneview-sdk/resource/api800/synergy/logical_enclosure.rb +22 -0
  759. data/lib/oneview-sdk/resource/api800/synergy/logical_interconnect.rb +32 -0
  760. data/lib/oneview-sdk/resource/api800/synergy/logical_interconnect_group.rb +33 -0
  761. data/lib/oneview-sdk/resource/api800/synergy/network_set.rb +22 -0
  762. data/lib/oneview-sdk/resource/api800/synergy/os_deployment_plan.rb +22 -0
  763. data/lib/oneview-sdk/resource/api800/synergy/sas_logical_interconnect_group.rb +22 -0
  764. data/lib/oneview-sdk/resource/api800/synergy/scope.rb +22 -0
  765. data/lib/oneview-sdk/resource/api800/synergy/server_certificate.rb +22 -0
  766. data/lib/oneview-sdk/resource/api800/synergy/server_hardware.rb +22 -0
  767. data/lib/oneview-sdk/resource/api800/synergy/server_hardware_type.rb +22 -0
  768. data/lib/oneview-sdk/resource/api800/synergy/server_profile.rb +25 -0
  769. data/lib/oneview-sdk/resource/api800/synergy/server_profile_template.rb +22 -0
  770. data/lib/oneview-sdk/resource/api800/synergy/storage_pool.rb +22 -0
  771. data/lib/oneview-sdk/resource/api800/synergy/storage_system.rb +22 -0
  772. data/lib/oneview-sdk/resource/api800/synergy/uplink_set.rb +22 -0
  773. data/lib/oneview-sdk/resource/api800/synergy/volume.rb +22 -0
  774. data/lib/oneview-sdk/resource/api800/synergy/volume_attachment.rb +22 -0
  775. data/lib/oneview-sdk/resource/api800/synergy/volume_template.rb +22 -0
  776. data/lib/oneview-sdk/resource_helper.rb +44 -0
  777. data/lib/oneview-sdk/rest.rb +292 -0
  778. data/lib/oneview-sdk/scmb.rb +71 -0
  779. data/lib/oneview-sdk/ssl_helper.rb +87 -0
  780. data/lib/oneview-sdk/version.rb +15 -0
  781. data/oneview-sdk.gemspec +48 -0
  782. metadata +1012 -0
@@ -0,0 +1,65 @@
1
+ # (c) Copyright 2020 Hewlett Packard Enterprise Development LP
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ #
7
+ # Unless required by applicable law or agreed to in writing, software distributed
8
+ # under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
9
+ # CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
10
+ # language governing permissions and limitations under the License.
11
+
12
+ require_relative 'oneview-sdk/version'
13
+ require_relative 'oneview-sdk/exceptions'
14
+ require_relative 'oneview-sdk/client'
15
+ require_relative 'oneview-sdk/resource'
16
+ require_relative 'oneview-sdk/resource_helper'
17
+ Dir[File.dirname(__FILE__) + '/oneview-sdk/resource/*.rb'].each { |file| require file }
18
+ require_relative 'oneview-sdk/scmb'
19
+ require_relative 'oneview-sdk/image_streamer'
20
+ require_relative 'oneview-sdk/cli'
21
+
22
+ # Module for interacting with the HPE OneView API
23
+ module OneviewSDK
24
+ env_sdk = %w[ONEVIEWSDK_URL ONEVIEWSDK_USER ONEVIEWSDK_PASSWORD ONEVIEWSDK_TOKEN ONEVIEWSDK_DOMAIN]
25
+ env_sdk.concat %w[ONEVIEWSDK_SSL_ENABLED ONEVIEWSDK_API_VERSION ONEVIEWSDK_VARIANT]
26
+ env_i3s = %w[I3S_URL I3S_SSL_ENABLED]
27
+ ENV_VARS = env_sdk.concat(env_i3s).freeze
28
+
29
+ SUPPORTED_API_VERSIONS = [200, 300, 500, 600, 800, 1000, 1200, 1600, 1800, 2000].freeze
30
+ DEFAULT_API_VERSION = 200
31
+ @api_version = DEFAULT_API_VERSION
32
+ @api_version_updated = false # Whether or not the API version has been set by the user
33
+
34
+ # Get the current API version
35
+ def self.api_version
36
+ @api_version
37
+ end
38
+
39
+ # Set the default API version
40
+ def self.api_version=(version)
41
+ version = version.to_i rescue version
42
+ raise UnsupportedVersion, "API version #{version} is not supported!"\
43
+ unless SUPPORTED_API_VERSIONS.include?(version)
44
+ raise UnsupportedVariant, "The module for API version #{@api_version} is undefined"\
45
+ unless constants.include?("API#{@api_version}".to_sym)
46
+ @api_version_updated = true
47
+ @api_version = version
48
+ end
49
+
50
+ # Has the API version been set by the user?
51
+ # @return [TrueClass, FalseClass]
52
+ def self.api_version_updated?
53
+ @api_version_updated
54
+ end
55
+
56
+ # This method will help redirect to resources within the API module that is currently in use.
57
+ # It should NOT be called directly. For example, if @@api_version is set to 200, then accessing
58
+ # OneviewSDK::EthernetNetwork will redirect to OneviewSDK::API200::EthernetNetwork
59
+ def self.const_missing(const)
60
+ api_module = OneviewSDK.const_get("API#{@api_version}")
61
+ api_module.const_get(const)
62
+ rescue NameError
63
+ raise NameError, "The #{const} method or resource does not exist for OneView API version #{@api_version}."
64
+ end
65
+ end
@@ -0,0 +1,639 @@
1
+ # (c) Copyright 2016 Hewlett Packard Enterprise Development LP
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ #
7
+ # Unless required by applicable law or agreed to in writing, software distributed
8
+ # under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
9
+ # CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
10
+ # language governing permissions and limitations under the License.
11
+
12
+ require 'thor'
13
+ require 'json'
14
+ require 'yaml'
15
+ require 'highline/import'
16
+
17
+ module OneviewSDK
18
+ # command-line-interface for oneview-sdk
19
+ # When you install this gem, this cli should be available to you by running: `$ oneview-sdk-ruby`
20
+ class Cli < Thor
21
+ # Runner class to enable testing
22
+ class Runner
23
+ def initialize(argv, stdin = STDIN, stdout = STDOUT, stderr = STDERR, kernel = Kernel)
24
+ @argv = argv
25
+ @stdin = stdin
26
+ @stdout = stdout
27
+ @stderr = stderr
28
+ @kernel = kernel
29
+ end
30
+
31
+ def execute!
32
+ exit_code = begin
33
+ $stderr = @stderr
34
+ $stdin = @stdin
35
+ $stdout = @stdout
36
+
37
+ OneviewSDK::Cli.start(@argv)
38
+ 0
39
+ rescue StandardError => e
40
+ b = e.backtrace
41
+ @stderr.puts("#{b.shift}: #{e.message} (#{e.class})")
42
+ @stderr.puts(b.map { |s| "\tfrom #{s}" }.join("\n"))
43
+ 1
44
+ rescue SystemExit => e
45
+ e.status
46
+ end
47
+
48
+ # Proxy our exit code back to the injected kernel.
49
+ @kernel.exit(exit_code)
50
+ end
51
+ end
52
+
53
+ SUPPORTED_VARIANTS = OneviewSDK::API300::SUPPORTED_VARIANTS
54
+
55
+ class_option :ssl_verify,
56
+ type: :boolean,
57
+ desc: 'Enable/Disable SSL verification for requests. Uses ENV[\'ONEVIEWSDK_SSL_ENABLED\']',
58
+ default: nil
59
+
60
+ class_option :url,
61
+ desc: "URL of OneView appliance. Uses ENV['ONEVIEWSDK_URL']",
62
+ aliases: '-u'
63
+
64
+ class_option :api_version,
65
+ type: :numeric,
66
+ banner: 'VERSION',
67
+ desc: "API version to use. Uses ENV['ONEVIEWSDK_API_VERSION']"
68
+
69
+ class_option :variant,
70
+ desc: "API variant to use. Uses ENV['ONEVIEWSDK_VARIANT']",
71
+ enum: SUPPORTED_VARIANTS
72
+
73
+ class_option :log_level,
74
+ desc: 'Log level to use',
75
+ aliases: '-l',
76
+ enum: %w[debug info warn error],
77
+ default: :warn
78
+
79
+ map ['-v', '--version'] => :version
80
+
81
+
82
+ desc 'console', 'Open a Ruby console with a connection to OneView'
83
+ # Open a Ruby console with a connection to OneView
84
+ def console
85
+ client_setup({}, true, true)
86
+ puts "Console Connected to #{@client.url}"
87
+ puts "HINT: The @client object is available to you\n\n"
88
+ rescue
89
+ puts "WARNING: Couldn't connect to #{@options['url'] || ENV['ONEVIEWSDK_URL']}\n\n"
90
+ ensure
91
+ require 'pry'
92
+ Pry.config.prompt = proc { '> ' }
93
+ Pry.plugins['stack_explorer'] && Pry.plugins['stack_explorer'].disable!
94
+ Pry.plugins['byebug'] && Pry.plugins['byebug'].disable!
95
+ Pry.start(OneviewSDK::Console.new(@client))
96
+ end
97
+
98
+ desc 'version', 'Print gem and OneView appliance versions'
99
+ # Print gem and OneView appliance versions
100
+ def version
101
+ puts "Gem Version: #{OneviewSDK::VERSION}"
102
+ client_setup({ 'log_level' => :error }, true)
103
+ puts "OneView appliance API version at '#{@client.url}' = #{@client.max_api_version}"
104
+ rescue StandardError, SystemExit
105
+ puts 'OneView appliance API version unknown'
106
+ end
107
+
108
+ method_option :format,
109
+ desc: 'Output format',
110
+ aliases: '-f',
111
+ enum: %w[json yaml human],
112
+ default: 'human'
113
+ desc 'env', 'Show environment variables for oneview-sdk-ruby'
114
+ # Show environment variables for oneview-sdk-ruby
115
+ def env
116
+ data = {}
117
+ OneviewSDK::ENV_VARS.each { |k| data[k] = ENV[k] }
118
+ if @options['format'] == 'human'
119
+ data.each do |key, value|
120
+ value = "'#{value}'" if value && !%w[true false].include?(value)
121
+ printf "%-#{data.keys.max_by(&:length).length}s = %s\n", key, value || 'nil'
122
+ end
123
+ else
124
+ output(parse_hash(data, true))
125
+ end
126
+ end
127
+
128
+ desc 'login', 'Attempt authentication and return token'
129
+ # Attempt authentication and return token
130
+ def login
131
+ client_setup
132
+ puts "Login Successful! Token = #{@client.token}"
133
+ end
134
+
135
+ method_option :format,
136
+ desc: 'Output format',
137
+ aliases: '-f',
138
+ enum: %w[json yaml human],
139
+ default: 'human'
140
+ method_option :attribute,
141
+ type: :string,
142
+ desc: 'Comma-separated list of attributes to show. Supports nesting/chaining with periods',
143
+ aliases: '-a'
144
+ list_examples = "\n oneview-sdk-ruby list ServerProfiles"
145
+ list_examples << "\n oneview-sdk-ruby list ServerHardware -a serialNumber,mpHostInfo.mpHostName"
146
+ desc 'list TYPE', "List resources. Examples:#{list_examples}"
147
+ # List names of resources (and optionally, specific attributes)
148
+ def list(type)
149
+ resource_class = parse_type(type)
150
+ client_setup
151
+ all = resource_class.get_all(@client)
152
+ if options['attribute']
153
+ data = select_attributes_from_multiple(options['attribute'], all)
154
+ output data, -2 # Shift left by 2 so things look right
155
+ else # List names only by default
156
+ names = []
157
+ all.each { |r| names.push(r['name']) }
158
+ output names
159
+ end
160
+ end
161
+
162
+ method_option :format,
163
+ desc: 'Output format',
164
+ aliases: '-f',
165
+ enum: %w[json yaml human],
166
+ default: 'human'
167
+ method_option :attribute,
168
+ type: :string,
169
+ desc: 'Comma-separated list of attributes to show. Supports nesting/chaining with periods',
170
+ aliases: '-a'
171
+ desc 'show TYPE NAME', 'Show resource details'
172
+ show_examples = "\n oneview-sdk-ruby show ServerProfile 'Profile 1'"
173
+ show_examples << "\n oneview-sdk-ruby show ServerHardware 'Rack1, bay 1' -a serialNumber,mpHostInfo.mpHostName"
174
+ desc 'show TYPE NAME', "Show resource details. Examples:#{show_examples}"
175
+ # Show resource details
176
+ def show(type, name)
177
+ resource_class = parse_type(type)
178
+ client_setup
179
+ matches = resource_class.find_by(@client, name: name)
180
+ fail_nice 'Not Found' if matches.empty?
181
+ data = matches.first.data
182
+ if options['attribute']
183
+ data = select_attributes(options['attribute'], data)
184
+ end
185
+ output data
186
+ end
187
+
188
+ method_option :format,
189
+ desc: 'Output format',
190
+ aliases: '-f',
191
+ enum: %w[json yaml human],
192
+ default: 'human'
193
+ method_option :attribute,
194
+ type: :string,
195
+ desc: 'Comma-separated list of attributes to show. Supports nesting/chaining with periods',
196
+ aliases: '-a'
197
+ method_option :filter,
198
+ type: :hash,
199
+ desc: 'Hash of key/value pairs to filter on',
200
+ required: true
201
+ search_examples = "\n oneview-sdk-ruby search ServerProfiles --filter=status:Critical"
202
+ search_examples << "\n oneview-sdk-ruby search ServerHardware --filter=state:ProfileApplied -a mpHostInfo.mpHostName"
203
+ desc 'search TYPE', "Search for resource by key/value pair(s). Examples:#{search_examples}"
204
+
205
+ # Search for resource by key/value pair(s)
206
+ def search(type)
207
+ resource_class = parse_type(type)
208
+ client_setup
209
+ filter = parse_hash(options['filter'])
210
+ matches = resource_class.find_by(@client, filter)
211
+ if matches.empty? # Search with integers & booleans converted
212
+ filter = parse_hash(options['filter'], true)
213
+ matches = resource_class.find_by(@client, filter) unless filter == options['filter']
214
+ end
215
+ if options['attribute']
216
+ data = select_attributes_from_multiple(options['attribute'], matches)
217
+ output data, -2 # Shift left by 2 so things look right
218
+ else # List names only by default
219
+ names = []
220
+ matches.each { |m| names.push(m['name']) }
221
+ output names
222
+ end
223
+ end
224
+
225
+ method_option :format,
226
+ desc: 'Output format',
227
+ aliases: '-f',
228
+ enum: %w[json yaml raw],
229
+ default: 'json'
230
+ method_option :data,
231
+ desc: 'Data to pass in the request body (in JSON format)',
232
+ aliases: '-d'
233
+ rest_examples = "\n oneview-sdk-ruby rest GET rest/fc-networks"
234
+ rest_examples << "\n oneview-sdk-ruby rest PUT rest/fc-networks/<id> -d '{\"linkStabilityTime\": 20, ...}'"
235
+ rest_examples << "\n oneview-sdk-ruby rest PUT rest/enclosures/<id>/configuration"
236
+ desc 'rest METHOD URI', "Make REST call to the OneView API. Examples:#{rest_examples}"
237
+ # Make REST call to the OneView API
238
+ def rest(method, uri)
239
+ log_level = @options['log_level'] == :warn ? :error : @options['log_level'].to_sym # Default to :error
240
+ client_setup('log_level' => log_level)
241
+ uri_copy = uri.dup
242
+ uri_copy.prepend('/') unless uri_copy.start_with?('/')
243
+ if @options['data']
244
+ begin
245
+ data = { body: JSON.parse(@options['data']) }
246
+ rescue JSON::ParserError => e
247
+ fail_nice("Failed to parse data as JSON\n#{e.message}")
248
+ end
249
+ end
250
+ data ||= {}
251
+ response = @client.rest_api(method, uri_copy, data)
252
+ if response.code.to_i.between?(200, 299)
253
+ case @options['format']
254
+ when 'yaml'
255
+ puts JSON.parse(response.body).to_yaml
256
+ when 'json'
257
+ puts JSON.pretty_generate(JSON.parse(response.body))
258
+ else # raw
259
+ puts response.body
260
+ end
261
+ else
262
+ body = JSON.pretty_generate(JSON.parse(response.body)) rescue response.body
263
+ fail_nice("Request failed: #{response.inspect}\nHeaders: #{response.to_hash}\nBody: #{body}")
264
+ end
265
+ rescue OneviewSDK::InvalidRequest => e
266
+ fail_nice(e.message)
267
+ end
268
+
269
+ method_option :hash,
270
+ type: :hash,
271
+ desc: 'Hash of key/value pairs to update',
272
+ aliases: '-h'
273
+ method_option :json,
274
+ desc: 'JSON data to pass in the request body',
275
+ aliases: '-j'
276
+ update_examples = "\n oneview-sdk-ruby update FCNetwork FC1 -h linkStabilityTime:20"
277
+ update_examples << "\n oneview-sdk-ruby update Volume VOL1 -j '{\"shareable\": true}'"
278
+ desc 'update TYPE NAME --[hash|json] <data>', "Update resource by name. Examples:#{update_examples}"
279
+ # Update resource by name
280
+ def update(type, name)
281
+ resource_class = parse_type(type)
282
+ client_setup
283
+ fail_nice 'Must set the hash or json option' unless @options['hash'] || @options['json']
284
+ fail_nice 'Must set the hash OR json option. Not both' if @options['hash'] && @options['json']
285
+ begin
286
+ data = @options['hash'] || JSON.parse(@options['json'])
287
+ rescue JSON::ParserError => e
288
+ fail_nice("Failed to parse json\n#{e.message}")
289
+ end
290
+ matches = resource_class.find_by(@client, name: name)
291
+ fail_nice 'Not Found' if matches.empty?
292
+ resource = matches.first
293
+ begin
294
+ resource.update(data)
295
+ puts 'Updated Successfully!'
296
+ rescue StandardError => e
297
+ fail_nice "Failed to update #{resource.class.name.split('::').last} '#{name}': #{e}"
298
+ end
299
+ end
300
+
301
+ method_option :force,
302
+ desc: 'Delete without confirmation',
303
+ type: :boolean,
304
+ aliases: '-f'
305
+ desc 'delete TYPE NAME', 'Delete resource by name'
306
+ # Delete resource by name
307
+ def delete(type, name)
308
+ resource_class = parse_type(type)
309
+ client_setup
310
+ matches = resource_class.find_by(@client, name: name)
311
+ fail_nice('Not Found', 2) if matches.empty?
312
+ resource = matches.first
313
+ return unless options['force'] || agree("Delete '#{name}'? [Y/N] ")
314
+ begin
315
+ resource.delete
316
+ puts 'Deleted Successfully!'
317
+ rescue StandardError => e
318
+ fail_nice "Failed to delete #{resource.class.name.split('::').last} '#{name}': #{e}"
319
+ end
320
+ end
321
+
322
+ method_option :force,
323
+ desc: 'Delete without confirmation',
324
+ type: :boolean,
325
+ aliases: '-f'
326
+ desc 'delete_from_file FILE_PATH', 'Delete resource defined in file'
327
+ # Delete resource defined in file
328
+ def delete_from_file(file_path)
329
+ client_setup
330
+ resource = OneviewSDK::Resource.from_file(@client, file_path)
331
+ fail_nice("#{resource.class.name.split('::').last} '#{resource[:name] || resource[:uri]}' Not Found", 2) unless resource.retrieve!
332
+ return unless options['force'] || agree("Delete '#{resource[:name]}'? [Y/N] ")
333
+ begin
334
+ resource.delete
335
+ puts 'Deleted Successfully!'
336
+ rescue StandardError => e
337
+ fail_nice "Failed to delete #{resource.class.name.split('::').last} '#{resource[:name]}': #{e}"
338
+ end
339
+ rescue IncompleteResource => e
340
+ fail_nice "Failed to delete #{resource.class.name.split('::').last} '#{resource[:name]}': #{e}"
341
+ rescue SystemCallError => e # File open errors
342
+ fail_nice e
343
+ end
344
+
345
+ method_option :if_missing,
346
+ desc: 'Only create if missing (Don\'t update)',
347
+ type: :boolean,
348
+ aliases: '-i'
349
+ desc 'create_from_file FILE_PATH', 'Create/Update resource defined in file'
350
+ # Create/Update resource defined in file
351
+ def create_from_file(file_path)
352
+ client_setup
353
+ resource = OneviewSDK::Resource.from_file(@client, file_path)
354
+ fail_nice 'Failed to determine resource type!' if resource.class == OneviewSDK::Resource
355
+ existing_resource = resource.class.new(@client, resource.data)
356
+ resource.data.delete('uri')
357
+ if existing_resource.retrieve!
358
+ if options['if_missing']
359
+ puts "Skipped: #{resource.class.name.split('::').last} '#{resource[:name]}' already exists.\n#{existing_resource[:uri]}"
360
+ return
361
+ end
362
+ if existing_resource.like?(resource.data)
363
+ puts "Skipped: #{resource.class.name.split('::').last} '#{resource[:name]}' is up to date.\n#{existing_resource[:uri]}"
364
+ return
365
+ end
366
+ begin
367
+ existing_resource.update(resource.data)
368
+ puts "Updated Successfully!\n#{existing_resource[:uri]}"
369
+ rescue StandardError => e
370
+ fail_nice "Failed to update #{resource.class.name.split('::').last} '#{resource[:name]}': #{e}"
371
+ end
372
+ else
373
+ begin
374
+ resource.create
375
+ puts "Created Successfully!\n#{resource[:uri]}"
376
+ rescue StandardError => e
377
+ fail_nice "Failed to create #{resource.class.name.split('::').last} '#{resource[:name]}': #{e}"
378
+ end
379
+ end
380
+ rescue IncompleteResource => e
381
+ fail_nice "Failed to create #{resource.class.name.split('::').last} '#{resource[:name]}': #{e}"
382
+ rescue SystemCallError => e # File open errors
383
+ fail_nice e
384
+ end
385
+
386
+ method_option :path,
387
+ desc: 'File path to save resource in',
388
+ type: :string,
389
+ aliases: '-p',
390
+ required: true
391
+ method_option :format,
392
+ desc: 'Output format',
393
+ aliases: '-f',
394
+ enum: %w[json yaml],
395
+ default: 'json'
396
+ desc 'to_file TYPE NAME', 'Save resource details to file'
397
+ # Save resource details to file
398
+ def to_file(type, name)
399
+ file = File.expand_path(options['path'])
400
+ resource_class = parse_type(type)
401
+ client_setup
402
+ resource = resource_class.find_by(@client, name: name).first
403
+ fail_nice "#{resource_class.name.split('::').last} '#{name}' not found" unless resource
404
+ resource.to_file(file, options['format'])
405
+ puts "Output to #{file}"
406
+ rescue SystemCallError => e
407
+ fail_nice "Failed to create file! (You may need to create the necessary directories). Message: #{e}"
408
+ end
409
+
410
+ desc 'cert check|import|list URL', 'Check, import, or list OneView certs'
411
+ # Check, import, or list OneView certs
412
+ def cert(type, url = ENV['ONEVIEWSDK_URL'])
413
+ case type.downcase
414
+ when 'check'
415
+ fail_nice 'Must specify a url' unless url
416
+ puts "Checking certificate for '#{url}' ..."
417
+ if OneviewSDK::SSLHelper.check_cert(url)
418
+ puts 'Certificate is valid!'
419
+ else
420
+ fail_nice 'Certificate Validation Failed!'
421
+ end
422
+ when 'import'
423
+ fail_nice 'Must specify a url' unless url
424
+ puts "Importing certificate for '#{url}' into '#{OneviewSDK::SSLHelper::CERT_STORE}'..."
425
+ OneviewSDK::SSLHelper.install_cert(url)
426
+ when 'list'
427
+ if File.file?(OneviewSDK::SSLHelper::CERT_STORE)
428
+ puts File.read(OneviewSDK::SSLHelper::CERT_STORE)
429
+ else
430
+ puts 'No certs imported!'
431
+ end
432
+ else fail_nice "Invalid action '#{type}'. Valid actions are [check, import, list]"
433
+ end
434
+ rescue StandardError => e
435
+ fail_nice e.message
436
+ end
437
+
438
+ method_option :route,
439
+ desc: 'Routing key to filter messages',
440
+ type: :string,
441
+ aliases: '-r',
442
+ default: OneviewSDK::SCMB::DEFAULT_ROUTING_KEY
443
+ method_option :format,
444
+ desc: 'Output format',
445
+ aliases: '-f',
446
+ enum: %w[json yaml raw],
447
+ default: 'json'
448
+ scmb_examples = "\n oneview-sdk-ruby scmb -r 'scmb.ethernet-networks.#'"
449
+ scmb_examples << "\n oneview-sdk-ruby scmb -r 'scmb.ethernet-networks.Created'"
450
+ scmb_examples << "\n oneview-sdk-ruby scmb -r 'scmb.ethernet-networks.Updated.<resource_uri>'"
451
+ desc 'scmb', "Subscribe to the OneView State Change Message Bus. Examples:#{scmb_examples}"
452
+ # Subscribe to the OneView SCMB
453
+ def scmb
454
+ client_setup
455
+ connection = OneviewSDK::SCMB.new_connection(@client)
456
+ q = OneviewSDK::SCMB.new_queue(connection, @options['route'])
457
+ puts 'Subscribing to OneView messages. To exit, press Ctrl + c'
458
+ q.subscribe(block: true) do |_delivery_info, _properties, payload|
459
+ data = JSON.parse(payload) rescue payload
460
+ puts "\n#{'=' * 50}\n\nReceived message with payload:"
461
+ @options['format'] == 'raw' ? puts(payload) : output(data)
462
+ end
463
+ end
464
+
465
+ private
466
+
467
+ def fail_nice(msg = nil, exit_code = 1)
468
+ puts "ERROR: #{msg}" if msg
469
+ exit exit_code
470
+ end
471
+
472
+ def client_setup(client_params = {}, quiet = false, throw_errors = false)
473
+ client_params['ssl_enabled'] = true if @options['ssl_verify'] == true
474
+ client_params['ssl_enabled'] = false if @options['ssl_verify'] == false
475
+ client_params['url'] ||= @options['url'] if @options['url']
476
+ client_params['log_level'] ||= @options['log_level'].to_sym if @options['log_level']
477
+ client_params['api_version'] ||= @options['api_version'].to_i if @options['api_version']
478
+ client_params['api_version'] ||= ENV['ONEVIEWSDK_API_VERSION'].to_i if ENV['ONEVIEWSDK_API_VERSION']
479
+ @client = OneviewSDK::Client.new(client_params)
480
+ rescue StandardError => e
481
+ raise e if throw_errors
482
+ fail_nice if quiet
483
+ fail_nice "Failed to login to OneView appliance at '#{client_params['url']}'. Message: #{e}"
484
+ end
485
+
486
+ # Get resource class from given string
487
+ def parse_type(type)
488
+ api_ver = (@options['api_version'] || ENV['ONEVIEWSDK_API_VERSION'] || OneviewSDK.api_version).to_i
489
+ unless OneviewSDK::SUPPORTED_API_VERSIONS.include?(api_ver)
490
+ # Find and use the best available match for the desired API version (round down to nearest)
491
+ valid_api_ver = OneviewSDK::SUPPORTED_API_VERSIONS.select { |x| x <= api_ver }.max || OneviewSDK::SUPPORTED_API_VERSIONS.min
492
+ puts "WARNING: Module API version #{api_ver} is not supported. Using #{valid_api_ver}"
493
+ api_ver = valid_api_ver
494
+ end
495
+ variant = @options['variant'] || ENV['ONEVIEWSDK_VARIANT']
496
+ variant ||= OneviewSDK::API300.variant if api_ver == 300
497
+ if variant && !SUPPORTED_VARIANTS.include?(variant)
498
+ fail_nice "Variant '#{variant}' is not supported. Try one of #{SUPPORTED_VARIANTS}"
499
+ end
500
+ r = OneviewSDK.resource_named(type, api_ver, variant)
501
+ # Try default API version as last resort
502
+ r ||= OneviewSDK.resource_named(type, OneviewSDK.api_version, variant) unless api_ver == OneviewSDK.api_version
503
+ return r if r && r.respond_to?(:find_by)
504
+ valid_classes = []
505
+ api_module = OneviewSDK.const_get("API#{api_ver}")
506
+ api_module = api_module.const_get(variant.to_s) unless api_ver.to_i == 200
507
+ api_module.constants.each do |c|
508
+ klass = api_module.const_get(c)
509
+ next unless klass.is_a?(Class) && klass.respond_to?(:find_by)
510
+ valid_classes.push(klass.name.split('::').last)
511
+ end
512
+ vc = valid_classes.sort_by!(&:downcase).join("\n ")
513
+ var = variant ? " (variant #{variant})" : ''
514
+ fail_nice("Invalid resource type: '#{type}'. Valid options for API version #{api_ver}#{var} are:\n #{vc}")
515
+ end
516
+
517
+ # Parse options hash from input. Handles chaining and keywords such as true/false & nil
518
+ # Returns new hash with proper nesting and formatting
519
+ def parse_hash(hash, convert_types = false)
520
+ new_hash = {}
521
+ hash.each do |k, v|
522
+ if convert_types
523
+ v = v.to_i if v && v.match(/^\d+$/)
524
+ v = true if v == 'true'
525
+ v = false if v == 'false'
526
+ v = nil if v == 'nil'
527
+ end
528
+ if k =~ /\./
529
+ sub_hash = new_hash
530
+ split = k.split('.')
531
+ split.each do |sub_key|
532
+ if sub_key == split.last
533
+ sub_hash[sub_key] = v
534
+ else
535
+ sub_hash[sub_key] ||= {}
536
+ sub_hash = sub_hash[sub_key]
537
+ end
538
+ end
539
+ new_hash[split.first] ||= {}
540
+ else
541
+ new_hash[k] = v
542
+ end
543
+ end
544
+ new_hash
545
+ end
546
+
547
+ # Select a subset of attributes from a given resource
548
+ # @param attributes [String, Array<Array<String>>] Comma-separated string or array of array of strings
549
+ # The reason it's a nested array is to allow retrieval of nested keys.
550
+ # For example, the following 2 attribute params will return the same result:
551
+ # - [['key1'], ['key2', 'subKey3']]
552
+ # - 'key1,key2.subKey3'
553
+ # @param data [Hash, OneviewSDK::Resource]
554
+ # @return [Hash] A Hash is returned. For example:
555
+ # { 'key1' => 'val1', 'key2' => { 'subKey3' => 'val2' } }
556
+ def select_attributes(attributes, data = {})
557
+ attributes = attributes.split(',').map(&:strip).reject(&:empty?).map { |a| a.split('.') } if attributes.is_a?(String)
558
+ r_data = data.is_a?(Hash) ? data : data.data
559
+ temp = {}
560
+ attributes.each do |attr|
561
+ temp_level = temp
562
+ attr = [attr] if attr.is_a?(String)
563
+ attr.each_with_index do |a, index|
564
+ # Safely retrieving and setting nested keys is not as easy, so loop to build a nested Hash structure for the result
565
+ if index == attr.size - 1
566
+ # Use r_data.dig(*attr) if we ever drop support for Ruby < 2.3
567
+ temp_level[a] = [*attr].reduce(r_data) { |m, k| m && m[k] } rescue nil
568
+ else
569
+ temp_level[a] ||= {}
570
+ temp_level = temp_level[a]
571
+ end
572
+ end
573
+ end
574
+ temp
575
+ end
576
+
577
+ # Select a subset of attributes from a given set of resources
578
+ # @param attributes [String, Array<Array<String>>] Comma-separated string or array of array of strings
579
+ # The reason it's a nested array is to allow retrieval of nested keys.
580
+ # For example, the following 2 attribute params will return the same result:
581
+ # - [['key1'], ['key2', 'subKey3']]
582
+ # - 'key1,key2.subKey3'
583
+ # @param data [Array<Hash>, Array<OneviewSDK::Resource>]
584
+ # @return [Array<Hash>] An Array of Hashes is returned. For example:
585
+ # [
586
+ # { 'resource_name1' => { 'key1' => 'val1', 'key2' => { 'subKey3' => 'val2' } } },
587
+ # { 'resource_name2' => { 'key1' => 'val3', 'key2' => { 'subKey3' => 'val4' } } },
588
+ # ]
589
+ def select_attributes_from_multiple(attributes, data = [])
590
+ attributes = attributes.split(',').map(&:strip).reject(&:empty?).map { |a| a.split('.') } if attributes.is_a?(String)
591
+ result = []
592
+ data.each do |r|
593
+ result.push(r['name'] => select_attributes(attributes, r))
594
+ end
595
+ result
596
+ end
597
+
598
+ # Print output in a given format.
599
+ def output(data = {}, indent = 0)
600
+ case @options['format']
601
+ when 'json'
602
+ puts JSON.pretty_generate(data)
603
+ when 'yaml'
604
+ puts data.to_yaml
605
+ else
606
+ # rubocop:disable Metrics/BlockNesting
607
+ if data.class == Hash || data.class <= OneviewSDK::Resource
608
+ data.each do |k, v|
609
+ if v.class == Hash || v.class == Array
610
+ puts "#{' ' * indent}#{k.nil? ? 'nil' : k}:"
611
+ output(v, indent + 2)
612
+ else
613
+ puts "#{' ' * indent}#{k.nil? ? 'nil' : k}: #{v.nil? ? 'nil' : v}"
614
+ end
615
+ end
616
+ elsif data.class == Array
617
+ data.each do |d|
618
+ if d.class == Hash || d.class == Array
619
+ output(d, indent + 2)
620
+ else
621
+ puts "#{' ' * indent}#{d.nil? ? 'nil' : d}"
622
+ end
623
+ end
624
+ puts "\nTotal: #{data.size}" if indent < 1
625
+ else
626
+ puts "#{' ' * indent}#{data.nil? ? 'nil' : data}"
627
+ end
628
+ # rubocop:enable Metrics/BlockNesting
629
+ end
630
+ end
631
+ end
632
+
633
+ # Console class
634
+ class Console
635
+ def initialize(client)
636
+ @client = client
637
+ end
638
+ end
639
+ end