knife-ionoscloud 5.1.2 → 6.0.0.alpha.1

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 (402) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/publish.yml +1 -4
  3. data/docs/README.md +0 -19
  4. data/docs/docs_generator.rb +1 -1
  5. data/docs/subcommands/backupunit_create.md +2 -5
  6. data/docs/subcommands/backupunit_delete.md +1 -4
  7. data/docs/subcommands/backupunit_list.md +1 -4
  8. data/docs/subcommands/backupunit_ssourl.md +1 -4
  9. data/docs/subcommands/composite_server_create.md +1 -4
  10. data/docs/subcommands/contract_list.md +1 -4
  11. data/docs/subcommands/datacenter_create.md +1 -4
  12. data/docs/subcommands/datacenter_delete.md +1 -4
  13. data/docs/subcommands/datacenter_list.md +1 -4
  14. data/docs/subcommands/firewall_create.md +2 -5
  15. data/docs/subcommands/firewall_delete.md +0 -3
  16. data/docs/subcommands/firewall_list.md +1 -4
  17. data/docs/subcommands/group_create.md +1 -4
  18. data/docs/subcommands/group_delete.md +1 -4
  19. data/docs/subcommands/group_get.md +1 -4
  20. data/docs/subcommands/group_list.md +1 -4
  21. data/docs/subcommands/group_user_add.md +0 -3
  22. data/docs/subcommands/group_user_remove.md +0 -3
  23. data/docs/subcommands/image_list.md +1 -4
  24. data/docs/subcommands/ipblock_create.md +1 -4
  25. data/docs/subcommands/ipblock_delete.md +1 -4
  26. data/docs/subcommands/ipblock_list.md +1 -4
  27. data/docs/subcommands/ipfailover_add.md +1 -4
  28. data/docs/subcommands/ipfailover_remove.md +1 -4
  29. data/docs/subcommands/k8s_create.md +5 -11
  30. data/docs/subcommands/k8s_delete.md +1 -4
  31. data/docs/subcommands/k8s_list.md +1 -4
  32. data/docs/subcommands/kubeconfig_get.md +1 -4
  33. data/docs/subcommands/label_add.md +1 -4
  34. data/docs/subcommands/label_list.md +1 -4
  35. data/docs/subcommands/label_remove.md +0 -3
  36. data/docs/subcommands/lan_create.md +1 -4
  37. data/docs/subcommands/lan_delete.md +0 -3
  38. data/docs/subcommands/lan_list.md +1 -4
  39. data/docs/subcommands/loadbalancer_create.md +2 -5
  40. data/docs/subcommands/loadbalancer_delete.md +0 -3
  41. data/docs/subcommands/loadbalancer_get.md +1 -4
  42. data/docs/subcommands/loadbalancer_list.md +1 -4
  43. data/docs/subcommands/loadbalancer_nic_add.md +0 -3
  44. data/docs/subcommands/loadbalancer_nic_remove.md +0 -3
  45. data/docs/subcommands/location_list.md +1 -4
  46. data/docs/subcommands/nic_create.md +3 -6
  47. data/docs/subcommands/nic_delete.md +1 -4
  48. data/docs/subcommands/nic_list.md +1 -4
  49. data/docs/subcommands/node_delete.md +0 -3
  50. data/docs/subcommands/node_list.md +1 -4
  51. data/docs/subcommands/node_replace.md +0 -3
  52. data/docs/subcommands/nodepool_create.md +5 -17
  53. data/docs/subcommands/nodepool_delete.md +0 -3
  54. data/docs/subcommands/nodepool_list.md +1 -4
  55. data/docs/subcommands/pcc_create.md +1 -4
  56. data/docs/subcommands/pcc_delete.md +1 -4
  57. data/docs/subcommands/pcc_list.md +1 -4
  58. data/docs/subcommands/request_list.md +1 -4
  59. data/docs/subcommands/request_status.md +1 -4
  60. data/docs/subcommands/request_wait.md +1 -4
  61. data/docs/subcommands/resource_list.md +1 -4
  62. data/docs/subcommands/s3key_create.md +1 -4
  63. data/docs/subcommands/s3key_delete.md +0 -3
  64. data/docs/subcommands/s3key_list.md +1 -4
  65. data/docs/subcommands/server_create.md +1 -4
  66. data/docs/subcommands/server_delete.md +0 -3
  67. data/docs/subcommands/server_list.md +1 -4
  68. data/docs/subcommands/server_reboot.md +0 -3
  69. data/docs/subcommands/server_start.md +0 -3
  70. data/docs/subcommands/server_stop.md +0 -3
  71. data/docs/subcommands/share_create.md +2 -5
  72. data/docs/subcommands/share_delete.md +2 -5
  73. data/docs/subcommands/share_list.md +1 -4
  74. data/docs/subcommands/snapshot_create.md +1 -4
  75. data/docs/subcommands/snapshot_delete.md +1 -4
  76. data/docs/subcommands/snapshot_list.md +1 -4
  77. data/docs/subcommands/snapshot_restore.md +1 -4
  78. data/docs/subcommands/user_create.md +3 -12
  79. data/docs/subcommands/user_delete.md +1 -4
  80. data/docs/subcommands/user_list.md +1 -4
  81. data/docs/subcommands/user_ssourl.md +1 -4
  82. data/docs/subcommands/volume_attach.md +0 -3
  83. data/docs/subcommands/volume_create.md +1 -28
  84. data/docs/subcommands/volume_delete.md +0 -3
  85. data/docs/subcommands/volume_detach.md +0 -3
  86. data/docs/subcommands/volume_list.md +1 -4
  87. data/docs/summary.md +0 -33
  88. data/knife-ionoscloud.gemspec +1 -1
  89. data/lib/chef/knife/ionoscloud_backupunit_create.rb +16 -12
  90. data/lib/chef/knife/ionoscloud_backupunit_delete.rb +5 -3
  91. data/lib/chef/knife/ionoscloud_backupunit_list.rb +1 -2
  92. data/lib/chef/knife/ionoscloud_backupunit_ssourl.rb +1 -2
  93. data/lib/chef/knife/ionoscloud_base.rb +6 -259
  94. data/lib/chef/knife/ionoscloud_composite_server_create.rb +38 -9
  95. data/lib/chef/knife/ionoscloud_contract_list.rb +32 -24
  96. data/lib/chef/knife/ionoscloud_cube_server_create.rb +215 -0
  97. data/lib/chef/knife/ionoscloud_datacenter_create.rb +14 -12
  98. data/lib/chef/knife/ionoscloud_datacenter_delete.rb +8 -3
  99. data/lib/chef/knife/ionoscloud_datacenter_list.rb +3 -4
  100. data/lib/chef/knife/ionoscloud_firewall_create.rb +24 -7
  101. data/lib/chef/knife/ionoscloud_firewall_delete.rb +14 -6
  102. data/lib/chef/knife/ionoscloud_firewall_list.rb +5 -4
  103. data/lib/chef/knife/ionoscloud_flowlog_create.rb +121 -0
  104. data/lib/chef/knife/ionoscloud_flowlog_delete.rb +106 -0
  105. data/lib/chef/knife/ionoscloud_flowlog_list.rb +100 -0
  106. data/lib/chef/knife/ionoscloud_group_create.rb +46 -16
  107. data/lib/chef/knife/ionoscloud_group_delete.rb +18 -2
  108. data/lib/chef/knife/ionoscloud_group_get.rb +17 -2
  109. data/lib/chef/knife/ionoscloud_group_list.rb +7 -2
  110. data/lib/chef/knife/ionoscloud_group_user_add.rb +13 -2
  111. data/lib/chef/knife/ionoscloud_group_user_remove.rb +13 -2
  112. data/lib/chef/knife/ionoscloud_image_list.rb +1 -2
  113. data/lib/chef/knife/ionoscloud_ipblock_create.rb +13 -11
  114. data/lib/chef/knife/ionoscloud_ipblock_delete.rb +4 -3
  115. data/lib/chef/knife/ionoscloud_ipblock_list.rb +1 -2
  116. data/lib/chef/knife/ionoscloud_ipfailover_add.rb +15 -9
  117. data/lib/chef/knife/ionoscloud_ipfailover_remove.rb +9 -3
  118. data/lib/chef/knife/ionoscloud_k8s_create.rb +30 -28
  119. data/lib/chef/knife/ionoscloud_k8s_delete.rb +9 -2
  120. data/lib/chef/knife/ionoscloud_k8s_list.rb +0 -1
  121. data/lib/chef/knife/ionoscloud_kubeconfig_get.rb +0 -1
  122. data/lib/chef/knife/ionoscloud_label_add.rb +1 -2
  123. data/lib/chef/knife/ionoscloud_label_list.rb +1 -2
  124. data/lib/chef/knife/ionoscloud_label_remove.rb +1 -2
  125. data/lib/chef/knife/ionoscloud_lan_create.rb +14 -7
  126. data/lib/chef/knife/ionoscloud_lan_delete.rb +4 -4
  127. data/lib/chef/knife/ionoscloud_lan_list.rb +2 -5
  128. data/lib/chef/knife/ionoscloud_loadbalancer_create.rb +16 -7
  129. data/lib/chef/knife/ionoscloud_loadbalancer_delete.rb +10 -3
  130. data/lib/chef/knife/ionoscloud_loadbalancer_get.rb +13 -4
  131. data/lib/chef/knife/ionoscloud_loadbalancer_list.rb +1 -2
  132. data/lib/chef/knife/ionoscloud_loadbalancer_nic_add.rb +14 -5
  133. data/lib/chef/knife/ionoscloud_loadbalancer_nic_remove.rb +14 -5
  134. data/lib/chef/knife/ionoscloud_location_list.rb +5 -4
  135. data/lib/chef/knife/ionoscloud_natgateway_create.rb +71 -0
  136. data/lib/chef/knife/ionoscloud_natgateway_delete.rb +69 -0
  137. data/lib/chef/knife/ionoscloud_natgateway_lan_add.rb +82 -0
  138. data/lib/chef/knife/ionoscloud_natgateway_lan_remove.rb +58 -0
  139. data/lib/chef/knife/ionoscloud_natgateway_list.rb +49 -0
  140. data/lib/chef/knife/ionoscloud_natgateway_rule_add.rb +124 -0
  141. data/lib/chef/knife/ionoscloud_natgateway_rule_list.rb +63 -0
  142. data/lib/chef/knife/ionoscloud_natgateway_rule_remove.rb +72 -0
  143. data/lib/chef/knife/ionoscloud_networkloadbalancer_create.rb +95 -0
  144. data/lib/chef/knife/ionoscloud_networkloadbalancer_delete.rb +81 -0
  145. data/lib/chef/knife/ionoscloud_networkloadbalancer_list.rb +56 -0
  146. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_add.rb +150 -0
  147. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_list.rb +63 -0
  148. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_remove.rb +78 -0
  149. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_add.rb +141 -0
  150. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_list.rb +68 -0
  151. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_remove.rb +105 -0
  152. data/lib/chef/knife/ionoscloud_nic_create.rb +38 -19
  153. data/lib/chef/knife/ionoscloud_nic_delete.rb +11 -5
  154. data/lib/chef/knife/ionoscloud_nic_list.rb +9 -6
  155. data/lib/chef/knife/ionoscloud_node_delete.rb +6 -2
  156. data/lib/chef/knife/ionoscloud_node_list.rb +0 -2
  157. data/lib/chef/knife/ionoscloud_node_replace.rb +0 -1
  158. data/lib/chef/knife/ionoscloud_nodepool_create.rb +60 -38
  159. data/lib/chef/knife/ionoscloud_nodepool_delete.rb +32 -2
  160. data/lib/chef/knife/ionoscloud_nodepool_lan_add.rb +130 -0
  161. data/lib/chef/knife/ionoscloud_nodepool_lan_remove.rb +96 -0
  162. data/lib/chef/knife/ionoscloud_nodepool_list.rb +3 -2
  163. data/lib/chef/knife/ionoscloud_pcc_create.rb +18 -13
  164. data/lib/chef/knife/ionoscloud_pcc_delete.rb +10 -3
  165. data/lib/chef/knife/ionoscloud_pcc_list.rb +1 -2
  166. data/lib/chef/knife/ionoscloud_request_list.rb +1 -2
  167. data/lib/chef/knife/ionoscloud_request_status.rb +1 -2
  168. data/lib/chef/knife/ionoscloud_request_wait.rb +0 -1
  169. data/lib/chef/knife/ionoscloud_resource_list.rb +0 -1
  170. data/lib/chef/knife/ionoscloud_s3key_create.rb +7 -4
  171. data/lib/chef/knife/ionoscloud_s3key_delete.rb +7 -5
  172. data/lib/chef/knife/ionoscloud_s3key_list.rb +2 -3
  173. data/lib/chef/knife/{ionoscloud_server_get.rb → ionoscloud_server_console.rb} +11 -10
  174. data/lib/chef/knife/ionoscloud_server_create.rb +26 -15
  175. data/lib/chef/knife/ionoscloud_server_delete.rb +10 -3
  176. data/lib/chef/knife/ionoscloud_server_list.rb +16 -6
  177. data/lib/chef/knife/ionoscloud_server_reboot.rb +1 -2
  178. data/lib/chef/knife/ionoscloud_server_resume.rb +43 -0
  179. data/lib/chef/knife/ionoscloud_server_start.rb +1 -2
  180. data/lib/chef/knife/ionoscloud_server_stop.rb +1 -2
  181. data/lib/chef/knife/ionoscloud_server_suspend.rb +44 -0
  182. data/lib/chef/knife/ionoscloud_server_token.rb +42 -0
  183. data/lib/chef/knife/ionoscloud_server_upgrade.rb +44 -0
  184. data/lib/chef/knife/ionoscloud_share_create.rb +12 -8
  185. data/lib/chef/knife/ionoscloud_share_delete.rb +4 -3
  186. data/lib/chef/knife/ionoscloud_share_list.rb +0 -1
  187. data/lib/chef/knife/ionoscloud_snapshot_create.rb +10 -3
  188. data/lib/chef/knife/ionoscloud_snapshot_delete.rb +7 -3
  189. data/lib/chef/knife/ionoscloud_snapshot_list.rb +1 -2
  190. data/lib/chef/knife/ionoscloud_snapshot_restore.rb +2 -3
  191. data/lib/chef/knife/ionoscloud_template_list.rb +46 -0
  192. data/lib/chef/knife/ionoscloud_user_create.rb +20 -25
  193. data/lib/chef/knife/ionoscloud_user_delete.rb +7 -2
  194. data/lib/chef/knife/ionoscloud_user_list.rb +0 -1
  195. data/lib/chef/knife/ionoscloud_user_ssourl.rb +1 -2
  196. data/lib/chef/knife/ionoscloud_volume_attach.rb +1 -2
  197. data/lib/chef/knife/ionoscloud_volume_create.rb +31 -57
  198. data/lib/chef/knife/ionoscloud_volume_delete.rb +9 -3
  199. data/lib/chef/knife/ionoscloud_volume_detach.rb +9 -3
  200. data/lib/chef/knife/ionoscloud_volume_list.rb +2 -3
  201. data/lib/knife-ionoscloud/version.rb +1 -1
  202. data/spec/chef/knife/ionoscloud_backupunit_create_spec.rb +2 -2
  203. data/spec/chef/knife/ionoscloud_backupunit_delete_spec.rb +5 -5
  204. data/spec/chef/knife/ionoscloud_backupunit_list_spec.rb +1 -1
  205. data/spec/chef/knife/ionoscloud_backupunit_ssourl_spec.rb +3 -3
  206. data/spec/chef/knife/ionoscloud_base_spec.rb +4 -4
  207. data/spec/chef/knife/ionoscloud_composite_server_create_spec.rb +11 -8
  208. data/spec/chef/knife/ionoscloud_contract_list_spec.rb +32 -27
  209. data/spec/chef/knife/ionoscloud_cube_server_create_spec.rb +249 -0
  210. data/spec/chef/knife/ionoscloud_datacenter_create_spec.rb +3 -12
  211. data/spec/chef/knife/ionoscloud_datacenter_delete_spec.rb +5 -8
  212. data/spec/chef/knife/ionoscloud_datacenter_list_spec.rb +4 -4
  213. data/spec/chef/knife/ionoscloud_firewall_create_spec.rb +5 -3
  214. data/spec/chef/knife/ionoscloud_firewall_delete_spec.rb +6 -5
  215. data/spec/chef/knife/ionoscloud_firewall_list_spec.rb +5 -3
  216. data/spec/chef/knife/ionoscloud_flowlog_create_spec.rb +254 -0
  217. data/spec/chef/knife/ionoscloud_flowlog_delete_spec.rb +360 -0
  218. data/spec/chef/knife/ionoscloud_flowlog_list_spec.rb +264 -0
  219. data/spec/chef/knife/ionoscloud_group_create_spec.rb +6 -7
  220. data/spec/chef/knife/ionoscloud_group_delete_spec.rb +3 -0
  221. data/spec/chef/knife/ionoscloud_group_get_spec.rb +3 -0
  222. data/spec/chef/knife/ionoscloud_group_list_spec.rb +11 -2
  223. data/spec/chef/knife/ionoscloud_group_user_add_spec.rb +0 -3
  224. data/spec/chef/knife/ionoscloud_group_user_remove_spec.rb +0 -3
  225. data/spec/chef/knife/ionoscloud_image_list_spec.rb +2 -2
  226. data/spec/chef/knife/ionoscloud_ipblock_delete_spec.rb +0 -2
  227. data/spec/chef/knife/ionoscloud_ipblock_list_spec.rb +1 -1
  228. data/spec/chef/knife/ionoscloud_ipfailover_add_spec.rb +4 -5
  229. data/spec/chef/knife/ionoscloud_ipfailover_remove_spec.rb +7 -8
  230. data/spec/chef/knife/ionoscloud_k8s_create_spec.rb +0 -8
  231. data/spec/chef/knife/ionoscloud_k8s_delete_spec.rb +1 -7
  232. data/spec/chef/knife/ionoscloud_kubeconfig_get_spec.rb +2 -2
  233. data/spec/chef/knife/ionoscloud_label_add_spec.rb +10 -10
  234. data/spec/chef/knife/ionoscloud_label_list_spec.rb +14 -14
  235. data/spec/chef/knife/ionoscloud_label_remove_spec.rb +20 -20
  236. data/spec/chef/knife/ionoscloud_lan_create_spec.rb +3 -4
  237. data/spec/chef/knife/ionoscloud_lan_delete_spec.rb +5 -7
  238. data/spec/chef/knife/ionoscloud_lan_list_spec.rb +3 -5
  239. data/spec/chef/knife/ionoscloud_loadbalancer_create_spec.rb +3 -3
  240. data/spec/chef/knife/ionoscloud_loadbalancer_delete_spec.rb +5 -5
  241. data/spec/chef/knife/ionoscloud_loadbalancer_get_spec.rb +2 -2
  242. data/spec/chef/knife/ionoscloud_loadbalancer_list_spec.rb +2 -2
  243. data/spec/chef/knife/ionoscloud_loadbalancer_nic_add_spec.rb +6 -6
  244. data/spec/chef/knife/ionoscloud_loadbalancer_nic_remove_spec.rb +6 -6
  245. data/spec/chef/knife/ionoscloud_location_list_spec.rb +5 -3
  246. data/spec/chef/knife/ionoscloud_natgateway_create_spec.rb +77 -0
  247. data/spec/chef/knife/ionoscloud_natgateway_delete_spec.rb +118 -0
  248. data/spec/chef/knife/ionoscloud_natgateway_lan_add_spec.rb +143 -0
  249. data/spec/chef/knife/ionoscloud_natgateway_lan_remove_spec.rb +194 -0
  250. data/spec/chef/knife/ionoscloud_natgateway_list_spec.rb +79 -0
  251. data/spec/chef/knife/ionoscloud_natgateway_rule_add_spec.rb +98 -0
  252. data/spec/chef/knife/ionoscloud_natgateway_rule_list_spec.rb +92 -0
  253. data/spec/chef/knife/ionoscloud_natgateway_rule_remove_spec.rb +77 -0
  254. data/spec/chef/knife/ionoscloud_networkloadbalancer_create_spec.rb +80 -0
  255. data/spec/chef/knife/ionoscloud_networkloadbalancer_delete_spec.rb +119 -0
  256. data/spec/chef/knife/ionoscloud_networkloadbalancer_list_spec.rb +88 -0
  257. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_add_spec.rb +104 -0
  258. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_list_spec.rb +89 -0
  259. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_remove_spec.rb +124 -0
  260. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_add_spec.rb +109 -0
  261. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_list_spec.rb +85 -0
  262. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_remove_spec.rb +263 -0
  263. data/spec/chef/knife/ionoscloud_nic_create_spec.rb +9 -5
  264. data/spec/chef/knife/ionoscloud_nic_delete_spec.rb +8 -6
  265. data/spec/chef/knife/ionoscloud_nic_list_spec.rb +12 -6
  266. data/spec/chef/knife/ionoscloud_nodepool_create_spec.rb +20 -13
  267. data/spec/chef/knife/ionoscloud_nodepool_delete_spec.rb +13 -27
  268. data/spec/chef/knife/ionoscloud_nodepool_lan_add_spec.rb +226 -0
  269. data/spec/chef/knife/ionoscloud_nodepool_lan_remove.rb +199 -0
  270. data/spec/chef/knife/ionoscloud_nodepool_list_spec.rb +3 -1
  271. data/spec/chef/knife/ionoscloud_pcc_create_spec.rb +8 -11
  272. data/spec/chef/knife/ionoscloud_pcc_delete_spec.rb +6 -6
  273. data/spec/chef/knife/ionoscloud_pcc_list_spec.rb +2 -2
  274. data/spec/chef/knife/ionoscloud_request_list_spec.rb +24 -25
  275. data/spec/chef/knife/ionoscloud_request_status_spec.rb +3 -3
  276. data/spec/chef/knife/ionoscloud_s3key_create_spec.rb +2 -2
  277. data/spec/chef/knife/ionoscloud_s3key_delete_spec.rb +5 -5
  278. data/spec/chef/knife/ionoscloud_s3key_list_spec.rb +2 -2
  279. data/spec/chef/knife/ionoscloud_server_console_spec.rb +97 -0
  280. data/spec/chef/knife/ionoscloud_server_create_spec.rb +3 -3
  281. data/spec/chef/knife/ionoscloud_server_delete_spec.rb +5 -5
  282. data/spec/chef/knife/ionoscloud_server_list_spec.rb +63 -5
  283. data/spec/chef/knife/ionoscloud_server_reboot_spec.rb +3 -5
  284. data/spec/chef/knife/ionoscloud_server_resume_spec.rb +93 -0
  285. data/spec/chef/knife/ionoscloud_server_start_spec.rb +3 -5
  286. data/spec/chef/knife/ionoscloud_server_stop_spec.rb +3 -5
  287. data/spec/chef/knife/ionoscloud_server_suspend_spec.rb +93 -0
  288. data/spec/chef/knife/ionoscloud_server_token_spec.rb +97 -0
  289. data/spec/chef/knife/ionoscloud_server_upgrade_spec.rb +96 -0
  290. data/spec/chef/knife/ionoscloud_snapshot_create_spec.rb +3 -16
  291. data/spec/chef/knife/ionoscloud_snapshot_delete_spec.rb +5 -17
  292. data/spec/chef/knife/ionoscloud_snapshot_list_spec.rb +2 -2
  293. data/spec/chef/knife/ionoscloud_snapshot_restore_spec.rb +3 -3
  294. data/spec/chef/knife/ionoscloud_template_list_spec.rb +78 -0
  295. data/spec/chef/knife/ionoscloud_user_create_spec.rb +1 -3
  296. data/spec/chef/knife/ionoscloud_user_delete_spec.rb +2 -4
  297. data/spec/chef/knife/ionoscloud_user_ssourl_spec.rb +3 -3
  298. data/spec/chef/knife/ionoscloud_volume_attach_spec.rb +4 -4
  299. data/spec/chef/knife/ionoscloud_volume_create_spec.rb +6 -15
  300. data/spec/chef/knife/ionoscloud_volume_delete_spec.rb +5 -14
  301. data/spec/chef/knife/ionoscloud_volume_detach_spec.rb +5 -14
  302. data/spec/chef/knife/ionoscloud_volume_list_spec.rb +4 -4
  303. data/spec/spec_helper.rb +270 -116
  304. metadata +93 -138
  305. data/docs/subcommands/backupunit_get.md +0 -35
  306. data/docs/subcommands/backupunit_update.md +0 -41
  307. data/docs/subcommands/datacenter_get.md +0 -35
  308. data/docs/subcommands/datacenter_update.md +0 -44
  309. data/docs/subcommands/firewall_get.md +0 -47
  310. data/docs/subcommands/firewall_update.md +0 -71
  311. data/docs/subcommands/group_update.md +0 -65
  312. data/docs/subcommands/ipblock_get.md +0 -35
  313. data/docs/subcommands/ipblock_update.md +0 -38
  314. data/docs/subcommands/k8s_get.md +0 -35
  315. data/docs/subcommands/k8s_update.md +0 -53
  316. data/docs/subcommands/lan_get.md +0 -39
  317. data/docs/subcommands/lan_update.md +0 -51
  318. data/docs/subcommands/loadbalancer_update.md +0 -48
  319. data/docs/subcommands/nic_get.md +0 -43
  320. data/docs/subcommands/nic_update.md +0 -58
  321. data/docs/subcommands/node_get.md +0 -43
  322. data/docs/subcommands/nodepool_get.md +0 -39
  323. data/docs/subcommands/nodepool_update.md +0 -69
  324. data/docs/subcommands/pcc_get.md +0 -35
  325. data/docs/subcommands/pcc_update.md +0 -41
  326. data/docs/subcommands/request_get.md +0 -35
  327. data/docs/subcommands/s3key_get.md +0 -39
  328. data/docs/subcommands/server_get.md +0 -39
  329. data/docs/subcommands/server_update.md +0 -60
  330. data/docs/subcommands/share_get.md +0 -39
  331. data/docs/subcommands/share_update.md +0 -45
  332. data/docs/subcommands/snapshot_get.md +0 -35
  333. data/docs/subcommands/snapshot_update.md +0 -77
  334. data/docs/subcommands/user_get.md +0 -35
  335. data/docs/subcommands/user_update.md +0 -56
  336. data/docs/subcommands/volume_get.md +0 -39
  337. data/docs/subcommands/volume_update.md +0 -66
  338. data/lib/chef/knife/ionoscloud_backupunit_get.rb +0 -33
  339. data/lib/chef/knife/ionoscloud_backupunit_update.rb +0 -62
  340. data/lib/chef/knife/ionoscloud_datacenter_get.rb +0 -33
  341. data/lib/chef/knife/ionoscloud_datacenter_update.rb +0 -67
  342. data/lib/chef/knife/ionoscloud_firewall_get.rb +0 -50
  343. data/lib/chef/knife/ionoscloud_firewall_update.rb +0 -131
  344. data/lib/chef/knife/ionoscloud_group_update.rb +0 -114
  345. data/lib/chef/knife/ionoscloud_ipblock_get.rb +0 -33
  346. data/lib/chef/knife/ionoscloud_ipblock_update.rb +0 -57
  347. data/lib/chef/knife/ionoscloud_k8s_get.rb +0 -33
  348. data/lib/chef/knife/ionoscloud_k8s_update.rb +0 -99
  349. data/lib/chef/knife/ionoscloud_lan_get.rb +0 -38
  350. data/lib/chef/knife/ionoscloud_lan_update.rb +0 -87
  351. data/lib/chef/knife/ionoscloud_loadbalancer_update.rb +0 -73
  352. data/lib/chef/knife/ionoscloud_nic_get.rb +0 -47
  353. data/lib/chef/knife/ionoscloud_nic_update.rb +0 -93
  354. data/lib/chef/knife/ionoscloud_node_get.rb +0 -47
  355. data/lib/chef/knife/ionoscloud_nodepool_get.rb +0 -41
  356. data/lib/chef/knife/ionoscloud_nodepool_update.rb +0 -124
  357. data/lib/chef/knife/ionoscloud_pcc_get.rb +0 -33
  358. data/lib/chef/knife/ionoscloud_pcc_update.rb +0 -63
  359. data/lib/chef/knife/ionoscloud_request_get.rb +0 -40
  360. data/lib/chef/knife/ionoscloud_s3key_get.rb +0 -38
  361. data/lib/chef/knife/ionoscloud_server_update.rb +0 -97
  362. data/lib/chef/knife/ionoscloud_share_get.rb +0 -38
  363. data/lib/chef/knife/ionoscloud_share_update.rb +0 -70
  364. data/lib/chef/knife/ionoscloud_snapshot_get.rb +0 -32
  365. data/lib/chef/knife/ionoscloud_snapshot_update.rb +0 -126
  366. data/lib/chef/knife/ionoscloud_user_get.rb +0 -32
  367. data/lib/chef/knife/ionoscloud_user_update.rb +0 -92
  368. data/lib/chef/knife/ionoscloud_volume_get.rb +0 -36
  369. data/lib/chef/knife/ionoscloud_volume_update.rb +0 -106
  370. data/spec/chef/knife/ionoscloud_backupunit_get_spec.rb +0 -65
  371. data/spec/chef/knife/ionoscloud_backupunit_update_spec.rb +0 -78
  372. data/spec/chef/knife/ionoscloud_datacenter_get_spec.rb +0 -69
  373. data/spec/chef/knife/ionoscloud_datacenter_update_spec.rb +0 -82
  374. data/spec/chef/knife/ionoscloud_firewall_get_spec.rb +0 -76
  375. data/spec/chef/knife/ionoscloud_firewall_update_spec.rb +0 -116
  376. data/spec/chef/knife/ionoscloud_group_update_spec.rb +0 -109
  377. data/spec/chef/knife/ionoscloud_ipblock_get_spec.rb +0 -66
  378. data/spec/chef/knife/ionoscloud_ipblock_update_spec.rb +0 -79
  379. data/spec/chef/knife/ionoscloud_k8s_get_spec.rb +0 -73
  380. data/spec/chef/knife/ionoscloud_k8s_update_spec.rb +0 -115
  381. data/spec/chef/knife/ionoscloud_lan_get_spec.rb +0 -68
  382. data/spec/chef/knife/ionoscloud_lan_update_spec.rb +0 -91
  383. data/spec/chef/knife/ionoscloud_loadbalancer_update_spec.rb +0 -89
  384. data/spec/chef/knife/ionoscloud_nic_get_spec.rb +0 -70
  385. data/spec/chef/knife/ionoscloud_nic_update_spec.rb +0 -92
  386. data/spec/chef/knife/ionoscloud_node_get_spec.rb +0 -70
  387. data/spec/chef/knife/ionoscloud_nodepool_get_spec.rb +0 -83
  388. data/spec/chef/knife/ionoscloud_nodepool_update_spec.rb +0 -130
  389. data/spec/chef/knife/ionoscloud_pcc_get_spec.rb +0 -71
  390. data/spec/chef/knife/ionoscloud_pcc_update_spec.rb +0 -83
  391. data/spec/chef/knife/ionoscloud_request_get_spec.rb +0 -69
  392. data/spec/chef/knife/ionoscloud_s3key_get_spec.rb +0 -66
  393. data/spec/chef/knife/ionoscloud_server_get_spec.rb +0 -71
  394. data/spec/chef/knife/ionoscloud_server_update_spec.rb +0 -102
  395. data/spec/chef/knife/ionoscloud_share_get_spec.rb +0 -66
  396. data/spec/chef/knife/ionoscloud_share_update_spec.rb +0 -91
  397. data/spec/chef/knife/ionoscloud_snapshot_get_spec.rb +0 -79
  398. data/spec/chef/knife/ionoscloud_snapshot_update_spec.rb +0 -113
  399. data/spec/chef/knife/ionoscloud_user_get_spec.rb +0 -70
  400. data/spec/chef/knife/ionoscloud_user_update_spec.rb +0 -110
  401. data/spec/chef/knife/ionoscloud_volume_get_spec.rb +0 -80
  402. data/spec/chef/knife/ionoscloud_volume_update_spec.rb +0 -115
@@ -23,12 +23,9 @@ knife ionoscloud user list (options)
23
23
  ionoscloud_password: --password PASSWORD, -p PASSWORD
24
24
  your Ionoscloud password (required)
25
25
 
26
- extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
27
- path to the additional config file
28
-
29
26
  ```
30
27
  ## Example
31
28
 
32
29
  ```text
33
- knife ionoscloud user list --group-id GROUP_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
30
+ knife ionoscloud user list --group-id GROUP_ID --username USERNAME --password PASSWORD
34
31
  ```
@@ -24,12 +24,9 @@ knife ionoscloud user ssourl (options)
24
24
  ionoscloud_password: --password PASSWORD, -p PASSWORD
25
25
  your Ionoscloud password (required)
26
26
 
27
- extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
28
- path to the additional config file
29
-
30
27
  ```
31
28
  ## Example
32
29
 
33
30
  ```text
34
- knife ionoscloud user ssourl --user-id USER_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
31
+ knife ionoscloud user ssourl --user-id USER_ID --username USERNAME --password PASSWORD
35
32
  ```
@@ -28,9 +28,6 @@ knife ionoscloud volume attach VOLUME_ID [VOLUME_ID] (options)
28
28
  ionoscloud_password: --password PASSWORD, -p PASSWORD
29
29
  your Ionoscloud password (required)
30
30
 
31
- extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
32
- path to the additional config file
33
-
34
31
  ```
35
32
  ## Example
36
33
 
@@ -51,42 +51,15 @@ knife ionoscloud volume create (options)
51
51
  availability_zone: --availability-zone AVAILABILITY_ZONE, -Z AVAILABILITY_ZONE
52
52
  the volume availability zone of the server
53
53
 
54
- backupunit_id: --backupunit BACKUPUNIT_ID, -B BACKUPUNIT_ID
55
- the uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
56
-
57
- user_data: --user-data USER_DATA, -u USER_DATA
58
- the cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
59
-
60
- cpu_hot_plug: --cpu-hot-plug CPU_HOT_PLUG
61
- the licence type of the volume (LINUX, WINDOWS, UNKNOWN, OTHER)
62
-
63
- ram_hot_plug: --ram-hot-plug RAM_HOT_PLUG
64
- the licence type of the volume (LINUX, WINDOWS, UNKNOWN, OTHER)
65
-
66
- nic_hot_plug: --nic-hot-plug NIC_HOT_PLUG
67
- the licence type of the volume (LINUX, WINDOWS, UNKNOWN, OTHER)
68
-
69
- nic_hot_unplug: --nic-hot-unplug NIC_HOT_UNPLUG
70
- the licence type of the volume (LINUX, WINDOWS, UNKNOWN, OTHER)
71
-
72
- disc_virtio_hot_plug: --disc-virtio-hot_plug DISC_VIRTIO_HOT_PLUG
73
- the licence type of the volume (LINUX, WINDOWS, UNKNOWN, OTHER)
74
-
75
- disc_virtio_hot_unplug: --disc-virtio-hot_unplug DISC_VIRTIO_HOT_UNPLUG
76
- the licence type of the volume (LINUX, WINDOWS, UNKNOWN, OTHER)
77
-
78
54
  ionoscloud_username: --username USERNAME, -u USERNAME
79
55
  your Ionoscloud username (required)
80
56
 
81
57
  ionoscloud_password: --password PASSWORD, -p PASSWORD
82
58
  your Ionoscloud password (required)
83
59
 
84
- extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
85
- path to the additional config file
86
-
87
60
  ```
88
61
  ## Example
89
62
 
90
63
  ```text
91
- knife ionoscloud volume create --datacenter-id DATACENTER_ID --name NAME --size SIZE --bus BUS --image ID --image-alias IMAGE_ALIAS --image-password PASSWORD --type TYPE --licence-type LICENCE --ssh-keys SSHKEY1,SSHKEY2,... --availability-zone AVAILABILITY_ZONE --backupunit BACKUPUNIT_ID --user-data USER_DATA --cpu-hot-plug CPU_HOT_PLUG --ram-hot-plug RAM_HOT_PLUG --nic-hot-plug NIC_HOT_PLUG --nic-hot-unplug NIC_HOT_UNPLUG --disc-virtio-hot_plug DISC_VIRTIO_HOT_PLUG --disc-virtio-hot_unplug DISC_VIRTIO_HOT_UNPLUG --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
64
+ knife ionoscloud volume create --datacenter-id DATACENTER_ID --name NAME --size SIZE --bus BUS --image ID --image-alias IMAGE_ALIAS --image-password PASSWORD --type TYPE --licence-type LICENCE --ssh-keys SSHKEY1,SSHKEY2,... --availability-zone AVAILABILITY_ZONE --username USERNAME --password PASSWORD
92
65
  ```
@@ -24,9 +24,6 @@ knife ionoscloud volume delete SERVER_ID [SERVER_ID] (options)
24
24
  ionoscloud_password: --password PASSWORD, -p PASSWORD
25
25
  your Ionoscloud password (required)
26
26
 
27
- extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
28
- path to the additional config file
29
-
30
27
  ```
31
28
  ## Example
32
29
 
@@ -30,9 +30,6 @@ knife ionoscloud volume detach VOLUME_ID [VOLUME_ID] (options)
30
30
  ionoscloud_password: --password PASSWORD, -p PASSWORD
31
31
  your Ionoscloud password (required)
32
32
 
33
- extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
34
- path to the additional config file
35
-
36
33
  ```
37
34
  ## Example
38
35
 
@@ -27,12 +27,9 @@ knife ionoscloud volume list (options)
27
27
  ionoscloud_password: --password PASSWORD, -p PASSWORD
28
28
  your Ionoscloud password (required)
29
29
 
30
- extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
31
- path to the additional config file
32
-
33
30
  ```
34
31
  ## Example
35
32
 
36
33
  ```text
37
- knife ionoscloud volume list --datacenter-id DATACENTER_ID --server-id SERVER_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
34
+ knife ionoscloud volume list --datacenter-id DATACENTER_ID --server-id SERVER_ID --username USERNAME --password PASSWORD
38
35
  ```
data/docs/summary.md CHANGED
@@ -7,116 +7,83 @@
7
7
 
8
8
  * [BackupunitCreate](subcommands/backupunit_create.md)
9
9
  * [BackupunitDelete](subcommands/backupunit_delete.md)
10
- * [BackupunitGet](subcommands/backupunit_get.md)
11
10
  * [BackupunitList](subcommands/backupunit_list.md)
12
11
  * [BackupunitSsourl](subcommands/backupunit_ssourl.md)
13
- * [BackupunitUpdate](subcommands/backupunit_update.md)
14
12
  * [CompositeServerCreate](subcommands/composite_server_create.md)
15
13
  * [ContractList](subcommands/contract_list.md)
16
14
  * [DatacenterCreate](subcommands/datacenter_create.md)
17
15
  * [DatacenterDelete](subcommands/datacenter_delete.md)
18
- * [DatacenterGet](subcommands/datacenter_get.md)
19
16
  * [DatacenterList](subcommands/datacenter_list.md)
20
- * [DatacenterUpdate](subcommands/datacenter_update.md)
21
17
  * [FirewallCreate](subcommands/firewall_create.md)
22
18
  * [FirewallDelete](subcommands/firewall_delete.md)
23
- * [FirewallGet](subcommands/firewall_get.md)
24
19
  * [FirewallList](subcommands/firewall_list.md)
25
- * [FirewallUpdate](subcommands/firewall_update.md)
26
20
  * [GroupCreate](subcommands/group_create.md)
27
21
  * [GroupDelete](subcommands/group_delete.md)
28
22
  * [GroupGet](subcommands/group_get.md)
29
23
  * [GroupList](subcommands/group_list.md)
30
- * [GroupUpdate](subcommands/group_update.md)
31
24
  * [GroupUserAdd](subcommands/group_user_add.md)
32
25
  * [GroupUserRemove](subcommands/group_user_remove.md)
33
26
  * [ImageList](subcommands/image_list.md)
34
27
  * [IpblockCreate](subcommands/ipblock_create.md)
35
28
  * [IpblockDelete](subcommands/ipblock_delete.md)
36
- * [IpblockGet](subcommands/ipblock_get.md)
37
29
  * [IpblockList](subcommands/ipblock_list.md)
38
- * [IpblockUpdate](subcommands/ipblock_update.md)
39
30
  * [IpfailoverAdd](subcommands/ipfailover_add.md)
40
31
  * [IpfailoverRemove](subcommands/ipfailover_remove.md)
41
32
  * [K8sCreate](subcommands/k8s_create.md)
42
33
  * [K8sDelete](subcommands/k8s_delete.md)
43
- * [K8sGet](subcommands/k8s_get.md)
44
34
  * [K8sList](subcommands/k8s_list.md)
45
- * [K8sUpdate](subcommands/k8s_update.md)
46
35
  * [KubeconfigGet](subcommands/kubeconfig_get.md)
47
36
  * [LabelAdd](subcommands/label_add.md)
48
37
  * [LabelList](subcommands/label_list.md)
49
38
  * [LabelRemove](subcommands/label_remove.md)
50
39
  * [LanCreate](subcommands/lan_create.md)
51
40
  * [LanDelete](subcommands/lan_delete.md)
52
- * [LanGet](subcommands/lan_get.md)
53
41
  * [LanList](subcommands/lan_list.md)
54
- * [LanUpdate](subcommands/lan_update.md)
55
42
  * [LoadbalancerCreate](subcommands/loadbalancer_create.md)
56
43
  * [LoadbalancerDelete](subcommands/loadbalancer_delete.md)
57
44
  * [LoadbalancerGet](subcommands/loadbalancer_get.md)
58
45
  * [LoadbalancerList](subcommands/loadbalancer_list.md)
59
46
  * [LoadbalancerNicAdd](subcommands/loadbalancer_nic_add.md)
60
47
  * [LoadbalancerNicRemove](subcommands/loadbalancer_nic_remove.md)
61
- * [LoadbalancerUpdate](subcommands/loadbalancer_update.md)
62
48
  * [LocationList](subcommands/location_list.md)
63
49
  * [NicCreate](subcommands/nic_create.md)
64
50
  * [NicDelete](subcommands/nic_delete.md)
65
- * [NicGet](subcommands/nic_get.md)
66
51
  * [NicList](subcommands/nic_list.md)
67
- * [NicUpdate](subcommands/nic_update.md)
68
52
  * [NodeDelete](subcommands/node_delete.md)
69
- * [NodeGet](subcommands/node_get.md)
70
53
  * [NodeList](subcommands/node_list.md)
71
54
  * [NodeReplace](subcommands/node_replace.md)
72
55
  * [NodepoolCreate](subcommands/nodepool_create.md)
73
56
  * [NodepoolDelete](subcommands/nodepool_delete.md)
74
- * [NodepoolGet](subcommands/nodepool_get.md)
75
57
  * [NodepoolList](subcommands/nodepool_list.md)
76
- * [NodepoolUpdate](subcommands/nodepool_update.md)
77
58
  * [PccCreate](subcommands/pcc_create.md)
78
59
  * [PccDelete](subcommands/pcc_delete.md)
79
- * [PccGet](subcommands/pcc_get.md)
80
60
  * [PccList](subcommands/pcc_list.md)
81
- * [PccUpdate](subcommands/pcc_update.md)
82
- * [RequestGet](subcommands/request_get.md)
83
61
  * [RequestList](subcommands/request_list.md)
84
62
  * [RequestStatus](subcommands/request_status.md)
85
63
  * [RequestWait](subcommands/request_wait.md)
86
64
  * [ResourceList](subcommands/resource_list.md)
87
65
  * [S3keyCreate](subcommands/s3key_create.md)
88
66
  * [S3keyDelete](subcommands/s3key_delete.md)
89
- * [S3keyGet](subcommands/s3key_get.md)
90
67
  * [S3keyList](subcommands/s3key_list.md)
91
68
  * [ServerCreate](subcommands/server_create.md)
92
69
  * [ServerDelete](subcommands/server_delete.md)
93
- * [ServerGet](subcommands/server_get.md)
94
70
  * [ServerList](subcommands/server_list.md)
95
71
  * [ServerReboot](subcommands/server_reboot.md)
96
72
  * [ServerStart](subcommands/server_start.md)
97
73
  * [ServerStop](subcommands/server_stop.md)
98
- * [ServerUpdate](subcommands/server_update.md)
99
74
  * [ShareCreate](subcommands/share_create.md)
100
75
  * [ShareDelete](subcommands/share_delete.md)
101
- * [ShareGet](subcommands/share_get.md)
102
76
  * [ShareList](subcommands/share_list.md)
103
- * [ShareUpdate](subcommands/share_update.md)
104
77
  * [SnapshotCreate](subcommands/snapshot_create.md)
105
78
  * [SnapshotDelete](subcommands/snapshot_delete.md)
106
- * [SnapshotGet](subcommands/snapshot_get.md)
107
79
  * [SnapshotList](subcommands/snapshot_list.md)
108
80
  * [SnapshotRestore](subcommands/snapshot_restore.md)
109
- * [SnapshotUpdate](subcommands/snapshot_update.md)
110
81
  * [UserCreate](subcommands/user_create.md)
111
82
  * [UserDelete](subcommands/user_delete.md)
112
- * [UserGet](subcommands/user_get.md)
113
83
  * [UserList](subcommands/user_list.md)
114
84
  * [UserSsourl](subcommands/user_ssourl.md)
115
- * [UserUpdate](subcommands/user_update.md)
116
85
  * [VolumeAttach](subcommands/volume_attach.md)
117
86
  * [VolumeCreate](subcommands/volume_create.md)
118
87
  * [VolumeDelete](subcommands/volume_delete.md)
119
88
  * [VolumeDetach](subcommands/volume_detach.md)
120
- * [VolumeGet](subcommands/volume_get.md)
121
89
  * [VolumeList](subcommands/volume_list.md)
122
- * [VolumeUpdate](subcommands/volume_update.md)
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ['lib']
21
21
 
22
22
  spec.add_runtime_dependency 'chef', '~> 16.10', '>= 16.10.17'
23
- spec.add_runtime_dependency 'ionoscloud', '~> 5.0'
23
+ spec.add_runtime_dependency 'ionoscloud', '~> 6.0.0.beta.3'
24
24
 
25
25
  spec.add_development_dependency 'rspec', '~> 3.10'
26
26
  spec.add_development_dependency 'simplecov', '~> 0.21.2'
@@ -18,6 +18,7 @@ class Chef
18
18
  description: 'Alphanumeric password you want assigned to the backup unit'
19
19
 
20
20
  option :email,
21
+ short: '-e EMAIL',
21
22
  long: '--email EMAIL',
22
23
  description: 'The e-mail address you want assigned to the backup unit.'
23
24
 
@@ -32,27 +33,30 @@ class Chef
32
33
 
33
34
  def run
34
35
  $stdout.sync = true
35
- handle_extra_config
36
36
  validate_required_params(@required_options, config)
37
37
 
38
38
  print "#{ui.color('Creating Backup unit...', :magenta)}"
39
39
 
40
- backupunit_api = Ionoscloud::BackupUnitApi.new(api_client)
40
+ backupunit_api = Ionoscloud::BackupUnitsApi.new(api_client)
41
41
 
42
- backupunit, _, headers = backupunit_api.backupunits_post_with_http_info(
43
- Ionoscloud::BackupUnit.new(
44
- properties: Ionoscloud::BackupUnitProperties.new(
45
- name: config[:name],
46
- password: config[:password],
47
- email: config[:email],
48
- ),
49
- ),
50
- )
42
+ backupunit, _, headers = backupunit_api.backupunits_post_with_http_info({
43
+ properties: {
44
+ name: config[:name],
45
+ password: config[:password],
46
+ email: config[:email],
47
+ }.compact,
48
+ })
51
49
 
52
50
  dot = ui.color('.', :magenta)
53
51
  api_client.wait_for { print dot; is_done? get_request_id headers }
54
52
 
55
- print_backupunit(backupunit)
53
+ puts backupunit
54
+
55
+ puts "\n"
56
+ puts "#{ui.color('ID', :cyan)}: #{backupunit.id}"
57
+ puts "#{ui.color('Name', :cyan)}: #{backupunit.properties.name}"
58
+ puts "#{ui.color('Email', :cyan)}: #{backupunit.properties.email}"
59
+ puts 'done'
56
60
  end
57
61
  end
58
62
  end
@@ -21,10 +21,9 @@ class Chef
21
21
 
22
22
  def run
23
23
  $stdout.sync = true
24
- handle_extra_config
25
24
  validate_required_params(@required_options, config)
26
25
 
27
- backupunit_api = Ionoscloud::BackupUnitApi.new(api_client)
26
+ backupunit_api = Ionoscloud::BackupUnitsApi.new(api_client)
28
27
 
29
28
  @name_args.each do |backupunit_id|
30
29
  begin
@@ -35,7 +34,10 @@ class Chef
35
34
  next
36
35
  end
37
36
 
38
- print_backupunit(backupunit)
37
+ msg_pair('ID', backupunit.id)
38
+ msg_pair('Name', backupunit.properties.name)
39
+ msg_pair('Email', backupunit.properties.email)
40
+
39
41
  puts "\n"
40
42
 
41
43
  begin
@@ -18,7 +18,6 @@ class Chef
18
18
 
19
19
  def run
20
20
  $stdout.sync = true
21
- handle_extra_config
22
21
  validate_required_params(@required_options, config)
23
22
 
24
23
  backupunit_list = [
@@ -27,7 +26,7 @@ class Chef
27
26
  ui.color('Email', :bold),
28
27
  ]
29
28
 
30
- backupunit_api = Ionoscloud::BackupUnitApi.new(api_client)
29
+ backupunit_api = Ionoscloud::BackupUnitsApi.new(api_client)
31
30
 
32
31
  backupunit_api.backupunits_get({ depth: 1 }).items.each do |backupunit|
33
32
  backupunit_list << backupunit.id
@@ -25,11 +25,10 @@ class Chef
25
25
 
26
26
  def run
27
27
  $stdout.sync = true
28
- handle_extra_config
29
28
  validate_required_params(@required_options, config)
30
29
 
31
30
  begin
32
- puts Ionoscloud::BackupUnitApi.new(api_client).backupunits_ssourl_get(config[:backupunit_id]).sso_url
31
+ puts Ionoscloud::BackupUnitsApi.new(api_client).backupunits_ssourl_get(config[:backupunit_id]).sso_url
33
32
  rescue Ionoscloud::ApiError => err
34
33
  raise err unless err.code == 404
35
34
  ui.error("Backup unit ID #{config[:backupunit_id]} not found.")
@@ -18,11 +18,12 @@ class Chef
18
18
  short: '-p PASSWORD',
19
19
  long: '--password PASSWORD',
20
20
  description: 'Your Ionoscloud password'
21
+ end
22
+ end
21
23
 
22
- option :extra_config_file,
23
- short: '-e EXTRA_CONFIG_FILE_PATH',
24
- long: '--extra-config EXTRA_CONFIG_FILE_PATH',
25
- description: 'Path to the additional config file'
24
+ def msg_pair(label, value, color = :cyan)
25
+ if !value.nil? && !value.to_s.empty?
26
+ puts "#{ui.color(label, color)}: #{value}"
26
27
  end
27
28
  end
28
29
 
@@ -36,24 +37,6 @@ class Chef
36
37
  end
37
38
  end
38
39
 
39
- def handle_extra_config
40
- return if config[:extra_config_file].nil?
41
-
42
- available_options = options.map { |key, _| key }
43
- ionoscloud_options = available_options[available_options.find_index(:ionoscloud_username)..]
44
- ignored_options = []
45
-
46
- JSON[File.read(config[:extra_config_file])].transform_keys(&:to_sym).each do |key, value|
47
- if config.key?(key) || !ionoscloud_options.include?(key)
48
- ignored_options << key
49
- else
50
- config[key] = value
51
- end
52
- end
53
-
54
- ui.warn "The following options #{ignored_options} from the specified JSON file will be ignored." unless ignored_options.empty?
55
- end
56
-
57
40
  def api_client
58
41
  api_config = Ionoscloud::Configuration.new()
59
42
 
@@ -74,249 +57,13 @@ class Chef
74
57
  end
75
58
 
76
59
  def is_done?(request_id)
77
- response = Ionoscloud::RequestApi.new(api_client).requests_status_get(request_id)
60
+ response = Ionoscloud::RequestsApi.new(api_client).requests_status_get(request_id)
78
61
  if response.metadata.status == 'FAILED'
79
62
  puts "\nRequest #{request_id} failed\n#{response.metadata.message.to_s}"
80
63
  exit(1)
81
64
  end
82
65
  response.metadata.status == 'DONE'
83
66
  end
84
-
85
- def print_datacenter(datacenter)
86
- print "\n"
87
- puts "#{ui.color('ID', :cyan)}: #{datacenter.id}"
88
- puts "#{ui.color('Name', :cyan)}: #{datacenter.properties.name}"
89
- puts "#{ui.color('Description', :cyan)}: #{datacenter.properties.description}"
90
- puts "#{ui.color('Location', :cyan)}: #{datacenter.properties.location}"
91
- puts "#{ui.color('Version', :cyan)}: #{datacenter.properties.version}"
92
- puts "#{ui.color('Features', :cyan)}: #{datacenter.properties.features}"
93
- puts "#{ui.color('Sec Auth Protection', :cyan)}: #{datacenter.properties.sec_auth_protection}"
94
- end
95
-
96
- def print_backupunit(backupunit)
97
- print "\n"
98
- puts "#{ui.color('ID', :cyan)}: #{backupunit.id}"
99
- puts "#{ui.color('Name', :cyan)}: #{backupunit.properties.name}"
100
- puts "#{ui.color('Email', :cyan)}: #{backupunit.properties.email}"
101
- end
102
-
103
- def print_firewall_rule(firewall)
104
- print "\n"
105
- puts "#{ui.color('ID', :cyan)}: #{firewall.id}"
106
- puts "#{ui.color('Name', :cyan)}: #{firewall.properties.name}"
107
- puts "#{ui.color('Protocol', :cyan)}: #{firewall.properties.protocol}"
108
- puts "#{ui.color('Source MAC', :cyan)}: #{firewall.properties.source_mac}"
109
- puts "#{ui.color('Source IP', :cyan)}: #{firewall.properties.source_ip}"
110
- puts "#{ui.color('Target IP', :cyan)}: #{firewall.properties.target_ip}"
111
- puts "#{ui.color('Port Range Start', :cyan)}: #{firewall.properties.port_range_start}"
112
- puts "#{ui.color('Port Range End', :cyan)}: #{firewall.properties.port_range_end}"
113
- puts "#{ui.color('ICMP Type', :cyan)}: #{firewall.properties.icmp_type}"
114
- puts "#{ui.color('ICMP Code', :cyan)}: #{firewall.properties.icmp_code}"
115
- end
116
-
117
- def print_group(group)
118
- print "\n"
119
- puts "#{ui.color('ID', :cyan)}: #{group.id}"
120
- puts "#{ui.color('Name', :cyan)}: #{group.properties.name}"
121
- puts "#{ui.color('Create Datacenter', :cyan)}: #{group.properties.create_data_center.to_s}"
122
- puts "#{ui.color('Create Snapshot', :cyan)}: #{group.properties.create_snapshot.to_s}"
123
- puts "#{ui.color('Reserve IP', :cyan)}: #{group.properties.reserve_ip.to_s}"
124
- puts "#{ui.color('Access Activity Log', :cyan)}: #{group.properties.access_activity_log.to_s}"
125
- puts "#{ui.color('S3 Privilege', :cyan)}: #{group.properties.s3_privilege.to_s}"
126
- puts "#{ui.color('Create Backup Unit', :cyan)}: #{group.properties.create_backup_unit.to_s}"
127
- puts "#{ui.color('Create K8s Clusters', :cyan)}: #{group.properties.create_k8s_cluster.to_s}"
128
- puts "#{ui.color('Create PCC', :cyan)}: #{group.properties.create_pcc.to_s}"
129
- puts "#{ui.color('Create Internet Acess', :cyan)}: #{group.properties.create_internet_access.to_s}"
130
- puts "#{ui.color('Users', :cyan)}: #{(group.entities.users.items.map { |el| el.id }).to_s}" unless group.entities.users.items.nil?
131
- end
132
-
133
- def print_ipblock(ipblock)
134
- print "\n"
135
- ip_consumers = (ipblock.properties.ip_consumers.nil? ? [] : ipblock.properties.ip_consumers.map { |el| el.to_hash })
136
- puts "#{ui.color('ID', :cyan)}: #{ipblock.id}"
137
- puts "#{ui.color('Name', :cyan)}: #{ipblock.properties.name}"
138
- puts "#{ui.color('Location', :cyan)}: #{ipblock.properties.location}"
139
- puts "#{ui.color('IP Addresses', :cyan)}: #{ipblock.properties.ips}"
140
- puts "#{ui.color('IP Consumers', :cyan)}: #{ip_consumers}"
141
- end
142
-
143
- def print_k8s_cluster(cluster)
144
- print "\n"
145
- maintenance_window = "#{cluster.properties.maintenance_window.day_of_the_week}, #{cluster.properties.maintenance_window.time}"
146
- s3_buckets = (cluster.properties.s3_buckets.nil? ? [] : cluster.properties.s3_buckets.map { |el| el.name })
147
- puts "#{ui.color('ID', :cyan)}: #{cluster.id}"
148
- puts "#{ui.color('Name', :cyan)}: #{cluster.properties.name}"
149
- puts "#{ui.color('Public', :cyan)}: #{cluster.properties.public}"
150
- puts "#{ui.color('k8s Version', :cyan)}: #{cluster.properties.k8s_version}"
151
- puts "#{ui.color('Maintenance Window', :cyan)}: #{maintenance_window}"
152
- puts "#{ui.color('State', :cyan)}: #{cluster.metadata.state}"
153
- puts "#{ui.color('Api Subnet Allow List', :cyan)}: #{cluster.properties.api_subnet_allow_list}"
154
- puts "#{ui.color('S3 Buckets', :cyan)}: #{s3_buckets}"
155
- puts "#{ui.color('Available Upgrade Versions', :cyan)}: #{cluster.properties.available_upgrade_versions}"
156
- puts "#{ui.color('Viable NodePool Versions', :cyan)}: #{cluster.properties.viable_node_pool_versions}"
157
- end
158
-
159
- def print_lan(lan)
160
- print "\n"
161
- ip_failovers = (lan.properties.ip_failover.nil? ? [] : lan.properties.ip_failover.map { |el| el.to_hash })
162
- puts "#{ui.color('ID', :cyan)}: #{lan.id}"
163
- puts "#{ui.color('Name', :cyan)}: #{lan.properties.name}"
164
- puts "#{ui.color('Public', :cyan)}: #{lan.properties.public}"
165
- puts "#{ui.color('PCC', :cyan)}: #{lan.properties.pcc}"
166
- puts "#{ui.color('IP Failover', :cyan)}: #{ip_failovers}"
167
- end
168
-
169
- def print_load_balancer(load_balancer)
170
- print "\n"
171
- nics = load_balancer.entities.balancednics.items.map! { |el| el.id }
172
- puts "#{ui.color('ID', :cyan)}: #{load_balancer.id}"
173
- puts "#{ui.color('Name', :cyan)}: #{load_balancer.properties.name}"
174
- puts "#{ui.color('IP address', :cyan)}: #{load_balancer.properties.ip}"
175
- puts "#{ui.color('DHCP', :cyan)}: #{load_balancer.properties.dhcp}"
176
- puts "#{ui.color('Balanced Nics', :cyan)}: #{nics.to_s}"
177
- end
178
-
179
- def print_nic(nic)
180
- print "\n"
181
- puts "#{ui.color('ID', :cyan)}: #{nic.id}"
182
- puts "#{ui.color('Name', :cyan)}: #{nic.properties.name}"
183
- puts "#{ui.color('IPs', :cyan)}: #{nic.properties.ips.to_s}"
184
- puts "#{ui.color('DHCP', :cyan)}: #{nic.properties.dhcp}"
185
- puts "#{ui.color('LAN', :cyan)}: #{nic.properties.lan}"
186
- puts "#{ui.color('NAT', :cyan)}: #{nic.properties.nat}"
187
- end
188
-
189
- def print_k8s_node(node)
190
- print "\n"
191
- puts "#{ui.color('ID', :cyan)}: #{node.id}"
192
- puts "#{ui.color('Name', :cyan)}: #{node.properties.name}"
193
- puts "#{ui.color('Public IP', :cyan)}: #{node.properties.public_ip}"
194
- puts "#{ui.color('Private IP', :cyan)}: #{node.properties.private_ip}"
195
- puts "#{ui.color('K8s Version', :cyan)}: #{node.properties.k8s_version}"
196
- puts "#{ui.color('State', :cyan)}: #{node.metadata.state}"
197
- end
198
-
199
- def print_k8s_nodepool(nodepool)
200
- print "\n"
201
- auto_scaling = "Min node count: #{nodepool.properties.auto_scaling.min_node_count}, Max node count:#{nodepool.properties.auto_scaling.max_node_count}"
202
- maintenance_window = "#{nodepool.properties.maintenance_window.day_of_the_week}, #{nodepool.properties.maintenance_window.time}"
203
- lans = nodepool.properties.lans.map { |lan| { id: lan.id } }
204
- puts "#{ui.color('ID', :cyan)}: #{nodepool.id}"
205
- puts "#{ui.color('Name', :cyan)}: #{nodepool.properties.name}"
206
- puts "#{ui.color('K8s Version', :cyan)}: #{nodepool.properties.k8s_version}"
207
- puts "#{ui.color('Datacenter ID', :cyan)}: #{nodepool.properties.datacenter_id}"
208
- puts "#{ui.color('Node Count', :cyan)}: #{nodepool.properties.node_count}"
209
- puts "#{ui.color('CPU Family', :cyan)}: #{nodepool.properties.cpu_family}"
210
- puts "#{ui.color('Cores Count', :cyan)}: #{nodepool.properties.cores_count}"
211
- puts "#{ui.color('RAM', :cyan)}: #{nodepool.properties.ram_size}"
212
- puts "#{ui.color('Storage Type', :cyan)}: #{nodepool.properties.storage_type}"
213
- puts "#{ui.color('Storage Size', :cyan)}: #{nodepool.properties.storage_size}"
214
- puts "#{ui.color('Public IPs', :cyan)}: #{nodepool.properties.public_ips}"
215
- puts "#{ui.color('Labels', :cyan)}: #{nodepool.properties.labels}"
216
- puts "#{ui.color('Annotations', :cyan)}: #{nodepool.properties.annotations}"
217
- puts "#{ui.color('LANs', :cyan)}: #{lans}"
218
- puts "#{ui.color('Availability Zone', :cyan)}: #{nodepool.properties.availability_zone}"
219
- puts "#{ui.color('Auto Scaling', :cyan)}: #{auto_scaling}"
220
- puts "#{ui.color('Maintenance Window', :cyan)}: #{maintenance_window}"
221
- puts "#{ui.color('State', :cyan)}: #{nodepool.metadata.state}"
222
- end
223
-
224
- def print_pcc(pcc)
225
- peers = pcc.properties.peers.map { |peer| peer.id }
226
- datacenters = pcc.properties.connectable_datacenters.map { |datacenter| datacenter.id }
227
- print "\n"
228
- puts "#{ui.color('ID', :cyan)}: #{pcc.id}"
229
- puts "#{ui.color('Name', :cyan)}: #{pcc.properties.name}"
230
- puts "#{ui.color('Description', :cyan)}: #{pcc.properties.description}"
231
- puts "#{ui.color('Peers', :cyan)}: #{peers}"
232
- puts "#{ui.color('Connectable Datacenters', :cyan)}: #{datacenters}"
233
- end
234
-
235
- def print_s3key(s3_key)
236
- print "\n"
237
- puts "#{ui.color('ID', :cyan)}: #{s3_key.id}"
238
- puts "#{ui.color('Secret Key', :cyan)}: #{s3_key.properties.secret_key}"
239
- puts "#{ui.color('Active', :cyan)}: #{s3_key.properties.active}"
240
- end
241
-
242
- def print_server(server)
243
- print "\n"
244
- puts "#{ui.color('ID', :cyan)}: #{server.id}"
245
- puts "#{ui.color('Name', :cyan)}: #{server.properties.name}"
246
- puts "#{ui.color('Cores', :cyan)}: #{server.properties.cores}"
247
- puts "#{ui.color('CPU Family', :cyan)}: #{server.properties.cpu_family}"
248
- puts "#{ui.color('Ram', :cyan)}: #{server.properties.ram}"
249
- puts "#{ui.color('Availability Zone', :cyan)}: #{server.properties.availability_zone}"
250
- puts "#{ui.color('Boot Volume', :cyan)}: #{server.properties.boot_volume ? server.properties.boot_volume.id : ''}"
251
- puts "#{ui.color('Boot CDROM', :cyan)}: #{server.properties.boot_cdrom ? server.properties.boot_cdrom.id : ''}"
252
- end
253
-
254
- def print_share(share)
255
- print "\n"
256
- puts "#{ui.color('ID', :cyan)}: #{share.id}"
257
- puts "#{ui.color('Edit Privilege', :cyan)}: #{share.properties.edit_privilege.to_s}"
258
- puts "#{ui.color('Share Privilege', :cyan)}: #{share.properties.share_privilege.to_s}"
259
- end
260
-
261
- def print_snapshot(snapshot)
262
- print "\n"
263
- puts "#{ui.color('ID', :cyan)}: #{snapshot.id}"
264
- puts "#{ui.color('Name', :cyan)}: #{snapshot.properties.name}"
265
- puts "#{ui.color('Description', :cyan)}: #{snapshot.properties.description}"
266
- puts "#{ui.color('Location', :cyan)}: #{snapshot.properties.location}"
267
- puts "#{ui.color('Size', :cyan)}: #{snapshot.properties.size.to_s}"
268
- puts "#{ui.color('Sec Auth Protection', :cyan)}: #{snapshot.properties.sec_auth_protection}"
269
- puts "#{ui.color('License Type', :cyan)}: #{snapshot.properties.licence_type}"
270
-
271
- puts "#{ui.color('CPU Hot Plug', :cyan)}: #{snapshot.properties.cpu_hot_plug}"
272
- puts "#{ui.color('CPU Hot Unplug', :cyan)}: #{snapshot.properties.cpu_hot_unplug}"
273
-
274
- puts "#{ui.color('RAM Hot Plug', :cyan)}: #{snapshot.properties.ram_hot_plug}"
275
- puts "#{ui.color('RAM Hot Unplug', :cyan)}: #{snapshot.properties.ram_hot_unplug}"
276
-
277
- puts "#{ui.color('NIC Hot Plug', :cyan)}: #{snapshot.properties.nic_hot_plug}"
278
- puts "#{ui.color('NIC Hot Unplug', :cyan)}: #{snapshot.properties.nic_hot_unplug}"
279
-
280
- puts "#{ui.color('Disc Virtio Hot Plug', :cyan)}: #{snapshot.properties.disc_virtio_hot_plug}"
281
- puts "#{ui.color('Disc Virtio Hot Unplug', :cyan)}: #{snapshot.properties.disc_virtio_hot_unplug}"
282
-
283
- puts "#{ui.color('Disc Scsi Hot Plug', :cyan)}: #{snapshot.properties.disc_scsi_hot_plug}"
284
- puts "#{ui.color('Disc Scsi Hot Unplug', :cyan)}: #{snapshot.properties.disc_scsi_hot_unplug}"
285
- end
286
-
287
- def print_user(user)
288
- print "\n"
289
- puts "#{ui.color('ID', :cyan)}: #{user.id}"
290
- puts "#{ui.color('Firstname', :cyan)}: #{user.properties.firstname}"
291
- puts "#{ui.color('Lastname', :cyan)}: #{user.properties.lastname}"
292
- puts "#{ui.color('Email', :cyan)}: #{user.properties.email}"
293
- puts "#{ui.color('Administrator', :cyan)}: #{user.properties.administrator.to_s}"
294
- puts "#{ui.color('Force 2-Factor Auth', :cyan)}: #{user.properties.force_sec_auth.to_s}"
295
- puts "#{ui.color('2-Factor Auth Active', :cyan)}: #{user.properties.sec_auth_active.to_s}"
296
- puts "#{ui.color('Active', :cyan)}: #{user.properties.active.to_s}"
297
- puts "#{ui.color('Groups', :cyan)}: #{(user.entities.groups.items.map { |el| el.id }).to_s}" unless user.entities.groups.items.nil?
298
- end
299
-
300
- def print_volume(volume)
301
- print "\n"
302
- puts "#{ui.color('ID', :cyan)}: #{volume.id}"
303
- puts "#{ui.color('Name', :cyan)}: #{volume.properties.name}"
304
- puts "#{ui.color('Size', :cyan)}: #{volume.properties.size}"
305
- puts "#{ui.color('Bus', :cyan)}: #{volume.properties.bus}"
306
- puts "#{ui.color('Image', :cyan)}: #{volume.properties.image}"
307
- puts "#{ui.color('Type', :cyan)}: #{volume.properties.type}"
308
- puts "#{ui.color('Licence Type', :cyan)}: #{volume.properties.licence_type}"
309
- puts "#{ui.color('Backupunit ID', :cyan)}: #{volume.properties.backupunit_id}"
310
- puts "#{ui.color('User Data', :cyan)}: #{volume.properties.user_data}"
311
- puts "#{ui.color('Zone', :cyan)}: #{volume.properties.availability_zone}"
312
- puts "#{ui.color('CPU Hot Plug', :cyan)}: #{volume.properties.cpu_hot_plug}"
313
- puts "#{ui.color('RAM Hot Plug', :cyan)}: #{volume.properties.ram_hot_plug}"
314
- puts "#{ui.color('NIC Hot Plug', :cyan)}: #{volume.properties.nic_hot_plug}"
315
- puts "#{ui.color('NIC Hot Unplug', :cyan)}: #{volume.properties.nic_hot_unplug}"
316
- puts "#{ui.color('Disc Virtio Hot Plug', :cyan)}: #{volume.properties.disc_virtio_hot_plug}"
317
- puts "#{ui.color('Disc Virtio Hot Unplug', :cyan)}: #{volume.properties.disc_virtio_hot_unplug}"
318
- puts "#{ui.color('Device number', :cyan)}: #{volume.properties.device_number}"
319
- end
320
67
  end
321
68
  end
322
69
  end