knife-ionoscloud 5.1.1 → 6.0.0.beta.2

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 (326) hide show
  1. checksums.yaml +4 -4
  2. data/docs/README.md +1 -1
  3. data/docs/subcommands/composite_server_create.md +9 -3
  4. data/docs/subcommands/cube_server_create.md +91 -0
  5. data/docs/subcommands/firewall_create.md +5 -2
  6. data/docs/subcommands/flowlog_create.md +63 -0
  7. data/docs/subcommands/flowlog_delete.md +51 -0
  8. data/docs/subcommands/flowlog_list.md +51 -0
  9. data/docs/subcommands/group_create.md +10 -1
  10. data/docs/subcommands/natgateway_create.md +41 -0
  11. data/docs/subcommands/natgateway_delete.md +35 -0
  12. data/docs/subcommands/natgateway_lan_add.md +46 -0
  13. data/docs/subcommands/natgateway_lan_remove.md +39 -0
  14. data/docs/subcommands/natgateway_list.md +35 -0
  15. data/docs/subcommands/natgateway_rule_add.md +66 -0
  16. data/docs/subcommands/natgateway_rule_list.md +38 -0
  17. data/docs/subcommands/natgateway_rule_remove.md +39 -0
  18. data/docs/subcommands/networkloadbalancer_create.md +54 -0
  19. data/docs/subcommands/networkloadbalancer_delete.md +35 -0
  20. data/docs/subcommands/networkloadbalancer_list.md +35 -0
  21. data/docs/subcommands/networkloadbalancer_rule_add.md +72 -0
  22. data/docs/subcommands/networkloadbalancer_rule_list.md +39 -0
  23. data/docs/subcommands/networkloadbalancer_rule_remove.md +39 -0
  24. data/docs/subcommands/networkloadbalancer_rule_target_add.md +64 -0
  25. data/docs/subcommands/networkloadbalancer_rule_target_list.md +43 -0
  26. data/docs/subcommands/networkloadbalancer_rule_target_remove.md +51 -0
  27. data/docs/subcommands/nic_create.md +3 -3
  28. data/docs/subcommands/nodepool_lan_add.md +49 -0
  29. data/docs/subcommands/nodepool_lan_remove.md +39 -0
  30. data/docs/subcommands/server_console.md +39 -0
  31. data/docs/subcommands/server_list.md +4 -1
  32. data/docs/subcommands/server_resume.md +35 -0
  33. data/docs/subcommands/server_suspend.md +35 -0
  34. data/docs/subcommands/server_token.md +39 -0
  35. data/docs/subcommands/server_upgrade.md +39 -0
  36. data/docs/subcommands/template_list.md +31 -0
  37. data/docs/subcommands/volume_create.md +2 -5
  38. data/docs/summary.md +29 -0
  39. data/knife-ionoscloud.gemspec +1 -1
  40. data/lib/chef/knife/ionoscloud_backupunit_create.rb +12 -16
  41. data/lib/chef/knife/ionoscloud_backupunit_delete.rb +2 -5
  42. data/lib/chef/knife/ionoscloud_backupunit_get.rb +33 -0
  43. data/lib/chef/knife/ionoscloud_backupunit_list.rb +1 -1
  44. data/lib/chef/knife/ionoscloud_backupunit_ssourl.rb +1 -1
  45. data/lib/chef/knife/ionoscloud_backupunit_update.rb +62 -0
  46. data/lib/chef/knife/ionoscloud_base.rb +309 -1
  47. data/lib/chef/knife/ionoscloud_composite_server_create.rb +23 -5
  48. data/lib/chef/knife/ionoscloud_contract_list.rb +32 -23
  49. data/lib/chef/knife/ionoscloud_cube_server_create.rb +212 -0
  50. data/lib/chef/knife/ionoscloud_datacenter_create.rb +11 -14
  51. data/lib/chef/knife/ionoscloud_datacenter_delete.rb +2 -7
  52. data/lib/chef/knife/ionoscloud_datacenter_get.rb +33 -0
  53. data/lib/chef/knife/ionoscloud_datacenter_list.rb +4 -2
  54. data/lib/chef/knife/ionoscloud_datacenter_update.rb +67 -0
  55. data/lib/chef/knife/ionoscloud_firewall_create.rb +16 -21
  56. data/lib/chef/knife/ionoscloud_firewall_delete.rb +5 -13
  57. data/lib/chef/knife/ionoscloud_firewall_get.rb +52 -0
  58. data/lib/chef/knife/ionoscloud_firewall_list.rb +5 -3
  59. data/lib/chef/knife/ionoscloud_firewall_update.rb +133 -0
  60. data/lib/chef/knife/ionoscloud_flowlog_create.rb +116 -0
  61. data/lib/chef/knife/ionoscloud_flowlog_delete.rb +103 -0
  62. data/lib/chef/knife/ionoscloud_flowlog_get.rb +84 -0
  63. data/lib/chef/knife/ionoscloud_flowlog_list.rb +101 -0
  64. data/lib/chef/knife/ionoscloud_flowlog_update.rb +127 -0
  65. data/lib/chef/knife/ionoscloud_group_create.rb +33 -27
  66. data/lib/chef/knife/ionoscloud_group_delete.rb +1 -11
  67. data/lib/chef/knife/ionoscloud_group_get.rb +1 -13
  68. data/lib/chef/knife/ionoscloud_group_list.rb +19 -7
  69. data/lib/chef/knife/ionoscloud_group_update.rb +131 -0
  70. data/lib/chef/knife/ionoscloud_group_user_add.rb +1 -18
  71. data/lib/chef/knife/ionoscloud_group_user_remove.rb +1 -18
  72. data/lib/chef/knife/ionoscloud_image_list.rb +1 -1
  73. data/lib/chef/knife/ionoscloud_ipblock_create.rb +10 -13
  74. data/lib/chef/knife/ionoscloud_ipblock_delete.rb +1 -4
  75. data/lib/chef/knife/ionoscloud_ipblock_get.rb +33 -0
  76. data/lib/chef/knife/ionoscloud_ipblock_update.rb +57 -0
  77. data/lib/chef/knife/ionoscloud_ipfailover_add.rb +1 -1
  78. data/lib/chef/knife/ionoscloud_ipfailover_remove.rb +1 -1
  79. data/lib/chef/knife/ionoscloud_k8s_create.rb +27 -35
  80. data/lib/chef/knife/ionoscloud_k8s_delete.rb +1 -9
  81. data/lib/chef/knife/ionoscloud_k8s_get.rb +33 -0
  82. data/lib/chef/knife/ionoscloud_k8s_update.rb +99 -0
  83. data/lib/chef/knife/ionoscloud_label_add.rb +1 -1
  84. data/lib/chef/knife/ionoscloud_label_list.rb +1 -1
  85. data/lib/chef/knife/ionoscloud_label_remove.rb +1 -1
  86. data/lib/chef/knife/ionoscloud_lan_create.rb +6 -14
  87. data/lib/chef/knife/ionoscloud_lan_delete.rb +3 -4
  88. data/lib/chef/knife/ionoscloud_lan_get.rb +38 -0
  89. data/lib/chef/knife/ionoscloud_lan_list.rb +2 -1
  90. data/lib/chef/knife/ionoscloud_lan_update.rb +76 -0
  91. data/lib/chef/knife/ionoscloud_loadbalancer_create.rb +4 -14
  92. data/lib/chef/knife/ionoscloud_loadbalancer_delete.rb +2 -9
  93. data/lib/chef/knife/ionoscloud_loadbalancer_get.rb +3 -13
  94. data/lib/chef/knife/ionoscloud_loadbalancer_list.rb +1 -1
  95. data/lib/chef/knife/ionoscloud_loadbalancer_nic_add.rb +3 -15
  96. data/lib/chef/knife/ionoscloud_loadbalancer_nic_remove.rb +3 -16
  97. data/lib/chef/knife/ionoscloud_loadbalancer_update.rb +73 -0
  98. data/lib/chef/knife/ionoscloud_location_list.rb +5 -3
  99. data/lib/chef/knife/ionoscloud_natgateway_create.rb +60 -0
  100. data/lib/chef/knife/ionoscloud_natgateway_delete.rb +54 -0
  101. data/lib/chef/knife/ionoscloud_natgateway_get.rb +42 -0
  102. data/lib/chef/knife/ionoscloud_natgateway_lan_add.rb +74 -0
  103. data/lib/chef/knife/ionoscloud_natgateway_lan_remove.rb +52 -0
  104. data/lib/chef/knife/ionoscloud_natgateway_list.rb +51 -0
  105. data/lib/chef/knife/ionoscloud_natgateway_rule_add.rb +107 -0
  106. data/lib/chef/knife/ionoscloud_natgateway_rule_list.rb +65 -0
  107. data/lib/chef/knife/ionoscloud_natgateway_rule_remove.rb +55 -0
  108. data/lib/chef/knife/ionoscloud_natgateway_rule_update.rb +116 -0
  109. data/lib/chef/knife/ionoscloud_natgateway_update.rb +84 -0
  110. data/lib/chef/knife/ionoscloud_networkloadbalancer_create.rb +89 -0
  111. data/lib/chef/knife/ionoscloud_networkloadbalancer_delete.rb +62 -0
  112. data/lib/chef/knife/ionoscloud_networkloadbalancer_get.rb +42 -0
  113. data/lib/chef/knife/ionoscloud_networkloadbalancer_list.rb +57 -0
  114. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_add.rb +141 -0
  115. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_list.rb +65 -0
  116. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_remove.rb +68 -0
  117. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_add.rb +124 -0
  118. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_list.rb +70 -0
  119. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_remove.rb +88 -0
  120. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_update.rb +148 -0
  121. data/lib/chef/knife/ionoscloud_networkloadbalancer_update.rb +98 -0
  122. data/lib/chef/knife/ionoscloud_nic_create.rb +17 -22
  123. data/lib/chef/knife/ionoscloud_nic_delete.rb +3 -7
  124. data/lib/chef/knife/ionoscloud_nic_get.rb +49 -0
  125. data/lib/chef/knife/ionoscloud_nic_list.rb +9 -5
  126. data/lib/chef/knife/ionoscloud_nic_update.rb +96 -0
  127. data/lib/chef/knife/ionoscloud_node_get.rb +49 -0
  128. data/lib/chef/knife/ionoscloud_node_list.rb +0 -1
  129. data/lib/chef/knife/ionoscloud_nodepool_create.rb +35 -48
  130. data/lib/chef/knife/ionoscloud_nodepool_delete.rb +1 -7
  131. data/lib/chef/knife/ionoscloud_nodepool_get.rb +43 -0
  132. data/lib/chef/knife/ionoscloud_nodepool_lan_add.rb +104 -0
  133. data/lib/chef/knife/ionoscloud_nodepool_lan_remove.rb +72 -0
  134. data/lib/chef/knife/ionoscloud_nodepool_list.rb +3 -1
  135. data/lib/chef/knife/ionoscloud_nodepool_update.rb +124 -0
  136. data/lib/chef/knife/ionoscloud_pcc_create.rb +12 -18
  137. data/lib/chef/knife/ionoscloud_pcc_delete.rb +2 -10
  138. data/lib/chef/knife/ionoscloud_pcc_get.rb +33 -0
  139. data/lib/chef/knife/ionoscloud_pcc_list.rb +1 -1
  140. data/lib/chef/knife/ionoscloud_pcc_update.rb +63 -0
  141. data/lib/chef/knife/ionoscloud_request_get.rb +40 -0
  142. data/lib/chef/knife/ionoscloud_request_list.rb +1 -1
  143. data/lib/chef/knife/ionoscloud_request_status.rb +1 -1
  144. data/lib/chef/knife/ionoscloud_s3key_create.rb +3 -7
  145. data/lib/chef/knife/ionoscloud_s3key_delete.rb +4 -7
  146. data/lib/chef/knife/ionoscloud_s3key_get.rb +38 -0
  147. data/lib/chef/knife/ionoscloud_s3key_list.rb +2 -2
  148. data/lib/chef/knife/ionoscloud_server_console.rb +43 -0
  149. data/lib/chef/knife/ionoscloud_server_create.rb +14 -26
  150. data/lib/chef/knife/ionoscloud_server_delete.rb +3 -9
  151. data/lib/chef/knife/ionoscloud_server_get.rb +43 -0
  152. data/lib/chef/knife/ionoscloud_server_list.rb +16 -5
  153. data/lib/chef/knife/ionoscloud_server_reboot.rb +1 -1
  154. data/lib/chef/knife/ionoscloud_server_resume.rb +44 -0
  155. data/lib/chef/knife/ionoscloud_server_start.rb +1 -1
  156. data/lib/chef/knife/ionoscloud_server_stop.rb +1 -1
  157. data/lib/chef/knife/ionoscloud_server_suspend.rb +45 -0
  158. data/lib/chef/knife/ionoscloud_server_token.rb +43 -0
  159. data/lib/chef/knife/ionoscloud_server_update.rb +97 -0
  160. data/lib/chef/knife/ionoscloud_server_upgrade.rb +45 -0
  161. data/lib/chef/knife/ionoscloud_share_create.rb +7 -11
  162. data/lib/chef/knife/ionoscloud_share_delete.rb +2 -3
  163. data/lib/chef/knife/ionoscloud_share_get.rb +38 -0
  164. data/lib/chef/knife/ionoscloud_share_update.rb +70 -0
  165. data/lib/chef/knife/ionoscloud_snapshot_create.rb +2 -10
  166. data/lib/chef/knife/ionoscloud_snapshot_delete.rb +2 -7
  167. data/lib/chef/knife/ionoscloud_snapshot_get.rb +32 -0
  168. data/lib/chef/knife/ionoscloud_snapshot_list.rb +1 -1
  169. data/lib/chef/knife/ionoscloud_snapshot_restore.rb +3 -14
  170. data/lib/chef/knife/ionoscloud_snapshot_update.rb +126 -0
  171. data/lib/chef/knife/ionoscloud_template_list.rb +47 -0
  172. data/lib/chef/knife/ionoscloud_user_create.rb +1 -8
  173. data/lib/chef/knife/ionoscloud_user_delete.rb +1 -6
  174. data/lib/chef/knife/ionoscloud_user_get.rb +32 -0
  175. data/lib/chef/knife/ionoscloud_user_ssourl.rb +1 -1
  176. data/lib/chef/knife/ionoscloud_user_update.rb +92 -0
  177. data/lib/chef/knife/ionoscloud_volume_attach.rb +1 -1
  178. data/lib/chef/knife/ionoscloud_volume_create.rb +18 -34
  179. data/lib/chef/knife/ionoscloud_volume_delete.rb +3 -9
  180. data/lib/chef/knife/ionoscloud_volume_detach.rb +1 -1
  181. data/lib/chef/knife/ionoscloud_volume_get.rb +36 -0
  182. data/lib/chef/knife/ionoscloud_volume_list.rb +2 -2
  183. data/lib/chef/knife/ionoscloud_volume_update.rb +106 -0
  184. data/lib/knife-ionoscloud/version.rb +1 -1
  185. data/spec/chef/knife/ionoscloud_backupunit_create_spec.rb +2 -2
  186. data/spec/chef/knife/ionoscloud_backupunit_delete_spec.rb +5 -5
  187. data/spec/chef/knife/ionoscloud_backupunit_get_spec.rb +65 -0
  188. data/spec/chef/knife/ionoscloud_backupunit_list_spec.rb +1 -1
  189. data/spec/chef/knife/ionoscloud_backupunit_ssourl_spec.rb +3 -3
  190. data/spec/chef/knife/ionoscloud_backupunit_update_spec.rb +78 -0
  191. data/spec/chef/knife/ionoscloud_base_spec.rb +4 -4
  192. data/spec/chef/knife/ionoscloud_composite_server_create_spec.rb +11 -8
  193. data/spec/chef/knife/ionoscloud_contract_list_spec.rb +32 -27
  194. data/spec/chef/knife/ionoscloud_cube_server_create_spec.rb +249 -0
  195. data/spec/chef/knife/ionoscloud_datacenter_create_spec.rb +6 -2
  196. data/spec/chef/knife/ionoscloud_datacenter_delete_spec.rb +8 -5
  197. data/spec/chef/knife/ionoscloud_datacenter_get_spec.rb +69 -0
  198. data/spec/chef/knife/ionoscloud_datacenter_list_spec.rb +5 -3
  199. data/spec/chef/knife/ionoscloud_datacenter_update_spec.rb +82 -0
  200. data/spec/chef/knife/ionoscloud_firewall_create_spec.rb +5 -3
  201. data/spec/chef/knife/ionoscloud_firewall_delete_spec.rb +6 -5
  202. data/spec/chef/knife/ionoscloud_firewall_get_spec.rb +77 -0
  203. data/spec/chef/knife/ionoscloud_firewall_list_spec.rb +5 -3
  204. data/spec/chef/knife/ionoscloud_firewall_update_spec.rb +117 -0
  205. data/spec/chef/knife/ionoscloud_flowlog_create_spec.rb +254 -0
  206. data/spec/chef/knife/ionoscloud_flowlog_delete_spec.rb +360 -0
  207. data/spec/chef/knife/ionoscloud_flowlog_get_spec.rb +171 -0
  208. data/spec/chef/knife/ionoscloud_flowlog_list_spec.rb +264 -0
  209. data/spec/chef/knife/ionoscloud_flowlog_update_spec.rb +244 -0
  210. data/spec/chef/knife/ionoscloud_group_create_spec.rb +9 -0
  211. data/spec/chef/knife/ionoscloud_group_delete_spec.rb +6 -0
  212. data/spec/chef/knife/ionoscloud_group_get_spec.rb +6 -0
  213. data/spec/chef/knife/ionoscloud_group_list_spec.rb +26 -8
  214. data/spec/chef/knife/ionoscloud_group_update_spec.rb +121 -0
  215. data/spec/chef/knife/ionoscloud_group_user_add_spec.rb +6 -0
  216. data/spec/chef/knife/ionoscloud_group_user_remove_spec.rb +6 -0
  217. data/spec/chef/knife/ionoscloud_image_list_spec.rb +2 -2
  218. data/spec/chef/knife/ionoscloud_ipblock_get_spec.rb +66 -0
  219. data/spec/chef/knife/ionoscloud_ipblock_update_spec.rb +79 -0
  220. data/spec/chef/knife/ionoscloud_ipfailover_add_spec.rb +4 -4
  221. data/spec/chef/knife/ionoscloud_ipfailover_remove_spec.rb +7 -7
  222. data/spec/chef/knife/ionoscloud_k8s_create_spec.rb +7 -0
  223. data/spec/chef/knife/ionoscloud_k8s_delete_spec.rb +16 -11
  224. data/spec/chef/knife/ionoscloud_k8s_get_spec.rb +72 -0
  225. data/spec/chef/knife/ionoscloud_k8s_update_spec.rb +114 -0
  226. data/spec/chef/knife/ionoscloud_kubeconfig_get_spec.rb +2 -2
  227. data/spec/chef/knife/ionoscloud_label_add_spec.rb +10 -10
  228. data/spec/chef/knife/ionoscloud_label_list_spec.rb +14 -14
  229. data/spec/chef/knife/ionoscloud_label_remove_spec.rb +20 -20
  230. data/spec/chef/knife/ionoscloud_lan_create_spec.rb +4 -3
  231. data/spec/chef/knife/ionoscloud_lan_delete_spec.rb +7 -5
  232. data/spec/chef/knife/ionoscloud_lan_get_spec.rb +68 -0
  233. data/spec/chef/knife/ionoscloud_lan_list_spec.rb +2 -2
  234. data/spec/chef/knife/ionoscloud_lan_update_spec.rb +87 -0
  235. data/spec/chef/knife/ionoscloud_loadbalancer_create_spec.rb +3 -3
  236. data/spec/chef/knife/ionoscloud_loadbalancer_delete_spec.rb +5 -5
  237. data/spec/chef/knife/ionoscloud_loadbalancer_get_spec.rb +2 -2
  238. data/spec/chef/knife/ionoscloud_loadbalancer_list_spec.rb +2 -2
  239. data/spec/chef/knife/ionoscloud_loadbalancer_nic_add_spec.rb +6 -6
  240. data/spec/chef/knife/ionoscloud_loadbalancer_nic_remove_spec.rb +6 -6
  241. data/spec/chef/knife/ionoscloud_loadbalancer_update_spec.rb +89 -0
  242. data/spec/chef/knife/ionoscloud_location_list_spec.rb +5 -3
  243. data/spec/chef/knife/ionoscloud_natgateway_create_spec.rb +92 -0
  244. data/spec/chef/knife/ionoscloud_natgateway_delete_spec.rb +118 -0
  245. data/spec/chef/knife/ionoscloud_natgateway_get_spec.rb +81 -0
  246. data/spec/chef/knife/ionoscloud_natgateway_lan_add_spec.rb +158 -0
  247. data/spec/chef/knife/ionoscloud_natgateway_lan_remove_spec.rb +209 -0
  248. data/spec/chef/knife/ionoscloud_natgateway_list_spec.rb +79 -0
  249. data/spec/chef/knife/ionoscloud_natgateway_rule_add_spec.rb +99 -0
  250. data/spec/chef/knife/ionoscloud_natgateway_rule_list_spec.rb +92 -0
  251. data/spec/chef/knife/ionoscloud_natgateway_rule_remove_spec.rb +78 -0
  252. data/spec/chef/knife/ionoscloud_natgateway_rule_update_spec.rb +121 -0
  253. data/spec/chef/knife/ionoscloud_natgateway_update_spec.rb +121 -0
  254. data/spec/chef/knife/ionoscloud_networkloadbalancer_create_spec.rb +93 -0
  255. data/spec/chef/knife/ionoscloud_networkloadbalancer_delete_spec.rb +120 -0
  256. data/spec/chef/knife/ionoscloud_networkloadbalancer_get_spec.rb +82 -0
  257. data/spec/chef/knife/ionoscloud_networkloadbalancer_list_spec.rb +88 -0
  258. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_add_spec.rb +105 -0
  259. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_list_spec.rb +89 -0
  260. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_remove_spec.rb +150 -0
  261. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_add_spec.rb +113 -0
  262. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_list_spec.rb +85 -0
  263. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_remove_spec.rb +281 -0
  264. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_update_spec.rb +163 -0
  265. data/spec/chef/knife/ionoscloud_networkloadbalancer_update_spec.rb +107 -0
  266. data/spec/chef/knife/ionoscloud_nic_create_spec.rb +9 -5
  267. data/spec/chef/knife/ionoscloud_nic_delete_spec.rb +8 -6
  268. data/spec/chef/knife/ionoscloud_nic_get_spec.rb +72 -0
  269. data/spec/chef/knife/ionoscloud_nic_list_spec.rb +12 -6
  270. data/spec/chef/knife/ionoscloud_nic_update_spec.rb +97 -0
  271. data/spec/chef/knife/ionoscloud_node_get_spec.rb +70 -0
  272. data/spec/chef/knife/ionoscloud_nodepool_create_spec.rb +10 -5
  273. data/spec/chef/knife/ionoscloud_nodepool_delete_spec.rb +14 -0
  274. data/spec/chef/knife/ionoscloud_nodepool_get_spec.rb +83 -0
  275. data/spec/chef/knife/ionoscloud_nodepool_lan_add_spec.rb +222 -0
  276. data/spec/chef/knife/ionoscloud_nodepool_lan_remove.rb +196 -0
  277. data/spec/chef/knife/ionoscloud_nodepool_list_spec.rb +3 -1
  278. data/spec/chef/knife/ionoscloud_nodepool_update_spec.rb +134 -0
  279. data/spec/chef/knife/ionoscloud_pcc_create_spec.rb +11 -8
  280. data/spec/chef/knife/ionoscloud_pcc_delete_spec.rb +7 -7
  281. data/spec/chef/knife/ionoscloud_pcc_get_spec.rb +71 -0
  282. data/spec/chef/knife/ionoscloud_pcc_list_spec.rb +2 -2
  283. data/spec/chef/knife/ionoscloud_pcc_update_spec.rb +83 -0
  284. data/spec/chef/knife/ionoscloud_request_get_spec.rb +69 -0
  285. data/spec/chef/knife/ionoscloud_request_list_spec.rb +16 -16
  286. data/spec/chef/knife/ionoscloud_request_status_spec.rb +3 -3
  287. data/spec/chef/knife/ionoscloud_s3key_create_spec.rb +2 -2
  288. data/spec/chef/knife/ionoscloud_s3key_delete_spec.rb +5 -5
  289. data/spec/chef/knife/ionoscloud_s3key_get_spec.rb +66 -0
  290. data/spec/chef/knife/ionoscloud_s3key_list_spec.rb +2 -2
  291. data/spec/chef/knife/ionoscloud_server_console_spec.rb +97 -0
  292. data/spec/chef/knife/ionoscloud_server_create_spec.rb +6 -3
  293. data/spec/chef/knife/ionoscloud_server_delete_spec.rb +8 -5
  294. data/spec/chef/knife/ionoscloud_server_get_spec.rb +74 -0
  295. data/spec/chef/knife/ionoscloud_server_list_spec.rb +63 -5
  296. data/spec/chef/knife/ionoscloud_server_reboot_spec.rb +3 -5
  297. data/spec/chef/knife/ionoscloud_server_resume_spec.rb +93 -0
  298. data/spec/chef/knife/ionoscloud_server_start_spec.rb +3 -5
  299. data/spec/chef/knife/ionoscloud_server_stop_spec.rb +3 -5
  300. data/spec/chef/knife/ionoscloud_server_suspend_spec.rb +93 -0
  301. data/spec/chef/knife/ionoscloud_server_token_spec.rb +97 -0
  302. data/spec/chef/knife/ionoscloud_server_update_spec.rb +105 -0
  303. data/spec/chef/knife/ionoscloud_server_upgrade_spec.rb +96 -0
  304. data/spec/chef/knife/ionoscloud_share_get_spec.rb +66 -0
  305. data/spec/chef/knife/ionoscloud_share_update_spec.rb +91 -0
  306. data/spec/chef/knife/ionoscloud_snapshot_create_spec.rb +15 -3
  307. data/spec/chef/knife/ionoscloud_snapshot_delete_spec.rb +17 -5
  308. data/spec/chef/knife/ionoscloud_snapshot_get_spec.rb +79 -0
  309. data/spec/chef/knife/ionoscloud_snapshot_list_spec.rb +2 -2
  310. data/spec/chef/knife/ionoscloud_snapshot_restore_spec.rb +12 -3
  311. data/spec/chef/knife/ionoscloud_snapshot_update_spec.rb +113 -0
  312. data/spec/chef/knife/ionoscloud_template_list_spec.rb +78 -0
  313. data/spec/chef/knife/ionoscloud_user_create_spec.rb +3 -1
  314. data/spec/chef/knife/ionoscloud_user_delete_spec.rb +4 -2
  315. data/spec/chef/knife/ionoscloud_user_get_spec.rb +70 -0
  316. data/spec/chef/knife/ionoscloud_user_ssourl_spec.rb +3 -3
  317. data/spec/chef/knife/ionoscloud_user_update_spec.rb +110 -0
  318. data/spec/chef/knife/ionoscloud_volume_attach_spec.rb +4 -4
  319. data/spec/chef/knife/ionoscloud_volume_create_spec.rb +21 -11
  320. data/spec/chef/knife/ionoscloud_volume_delete_spec.rb +15 -5
  321. data/spec/chef/knife/ionoscloud_volume_detach_spec.rb +5 -5
  322. data/spec/chef/knife/ionoscloud_volume_get_spec.rb +81 -0
  323. data/spec/chef/knife/ionoscloud_volume_list_spec.rb +4 -4
  324. data/spec/chef/knife/ionoscloud_volume_update_spec.rb +116 -0
  325. data/spec/spec_helper.rb +251 -39
  326. metadata +245 -6
@@ -0,0 +1,35 @@
1
+ # ServerSuspend
2
+
3
+ This will suspend a server. The operation can only be applied to Cube servers. Note: The virtual machine will not be deleted, and the consumed resources will continue to be billed.
4
+
5
+ ```text
6
+ knife ionoscloud server suspend SERVER_ID [SERVER_ID] (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * ionoscloud\_username
15
+ * ionoscloud\_password
16
+
17
+ ```text
18
+ datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
19
+ iD of the data center (required)
20
+
21
+ ionoscloud_username: --username USERNAME, -u USERNAME
22
+ your Ionoscloud username (required)
23
+
24
+ ionoscloud_password: --password PASSWORD, -p PASSWORD
25
+ your Ionoscloud password (required)
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
+ ```
31
+ ## Example
32
+
33
+ ```text
34
+ knife ionoscloud server suspend SERVER_ID
35
+ ```
@@ -0,0 +1,39 @@
1
+ # ServerToken
2
+
3
+ Returns the server json web token to be used for login operations (ex: accessing the server console).
4
+
5
+ ```text
6
+ knife ionoscloud server token (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * server\_id
15
+ * ionoscloud\_username
16
+ * ionoscloud\_password
17
+
18
+ ```text
19
+ datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
20
+ the ID of the Datacenter. (required)
21
+
22
+ server_id: --server-id SERVER_ID, -S SERVER_ID
23
+ the ID of the Server. (required)
24
+
25
+ ionoscloud_username: --username USERNAME, -u USERNAME
26
+ your Ionoscloud username (required)
27
+
28
+ ionoscloud_password: --password PASSWORD, -p PASSWORD
29
+ your Ionoscloud password (required)
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
+ ```
35
+ ## Example
36
+
37
+ ```text
38
+ knife ionoscloud server token --datacenter-id DATACENTER_ID --server-id SERVER_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
39
+ ```
@@ -0,0 +1,39 @@
1
+ # ServerUpgrade
2
+
3
+ This will upgrade the version of the server, if needed. To verify if there is an upgrade available for a server, call '/datacenters/{datacenterId}/servers?upgradeNeeded=true'.
4
+
5
+ ```text
6
+ knife ionoscloud server upgrade (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * server\_id
15
+ * ionoscloud\_username
16
+ * ionoscloud\_password
17
+
18
+ ```text
19
+ datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
20
+ the ID of the Datacenter. (required)
21
+
22
+ server_id: --server-id SERVER_ID, -S SERVER_ID
23
+ the ID of the Server. (required)
24
+
25
+ ionoscloud_username: --username USERNAME, -u USERNAME
26
+ your Ionoscloud username (required)
27
+
28
+ ionoscloud_password: --password PASSWORD, -p PASSWORD
29
+ your Ionoscloud password (required)
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
+ ```
35
+ ## Example
36
+
37
+ ```text
38
+ knife ionoscloud server upgrade --datacenter-id DATACENTER_ID --server-id SERVER_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
39
+ ```
@@ -0,0 +1,31 @@
1
+ # TemplateList
2
+
3
+ Retrieve a list of available templates. Templates can be used on specific server types only (CUBE at the moment)
4
+
5
+ ```text
6
+ knife ionoscloud template list
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * ionoscloud\_username
14
+ * ionoscloud\_password
15
+
16
+ ```text
17
+ ionoscloud_username: --username USERNAME, -u USERNAME
18
+ your Ionoscloud username (required)
19
+
20
+ ionoscloud_password: --password PASSWORD, -p PASSWORD
21
+ your Ionoscloud password (required)
22
+
23
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
24
+ path to the additional config file
25
+
26
+ ```
27
+ ## Example
28
+
29
+ ```text
30
+ knife ionoscloud template list--username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
31
+ ```
@@ -33,14 +33,11 @@ knife ionoscloud volume create (options)
33
33
  image: --image ID, -N ID
34
34
  the image or snapshot ID
35
35
 
36
- image_alias: --image-alias IMAGE_ALIAS
37
- (required) The image alias
38
-
39
36
  image_password: --image-password PASSWORD, -P PASSWORD
40
37
  the password set on the image for the "root" or "Administrator" user
41
38
 
42
39
  type: --type TYPE, -t TYPE
43
- the disk type (HDD OR SSD) (required)
40
+ the disk type (HDD, SSD, SSD Standard, SSD Premium, DAS) (required)
44
41
 
45
42
  licence_type: --licence-type LICENCE, -l LICENCE
46
43
  the licence type of the volume (LINUX, WINDOWS, UNKNOWN, OTHER)
@@ -70,5 +67,5 @@ knife ionoscloud volume create (options)
70
67
  ## Example
71
68
 
72
69
  ```text
73
- 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 --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
70
+ knife ionoscloud volume create --datacenter-id DATACENTER_ID --name NAME --size SIZE --bus BUS --image ID --image-password PASSWORD --type TYPE --licence-type LICENCE --ssh-keys SSHKEY1,SSHKEY2,... --availability-zone AVAILABILITY_ZONE --backupunit BACKUPUNIT_ID --user-data USER_DATA --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
74
71
  ```
data/docs/summary.md CHANGED
@@ -11,12 +11,16 @@
11
11
  * [BackupunitSsourl](subcommands/backupunit_ssourl.md)
12
12
  * [CompositeServerCreate](subcommands/composite_server_create.md)
13
13
  * [ContractList](subcommands/contract_list.md)
14
+ * [CubeServerCreate](subcommands/cube_server_create.md)
14
15
  * [DatacenterCreate](subcommands/datacenter_create.md)
15
16
  * [DatacenterDelete](subcommands/datacenter_delete.md)
16
17
  * [DatacenterList](subcommands/datacenter_list.md)
17
18
  * [FirewallCreate](subcommands/firewall_create.md)
18
19
  * [FirewallDelete](subcommands/firewall_delete.md)
19
20
  * [FirewallList](subcommands/firewall_list.md)
21
+ * [FlowlogCreate](subcommands/flowlog_create.md)
22
+ * [FlowlogDelete](subcommands/flowlog_delete.md)
23
+ * [FlowlogList](subcommands/flowlog_list.md)
20
24
  * [GroupCreate](subcommands/group_create.md)
21
25
  * [GroupDelete](subcommands/group_delete.md)
22
26
  * [GroupGet](subcommands/group_get.md)
@@ -46,6 +50,23 @@
46
50
  * [LoadbalancerNicAdd](subcommands/loadbalancer_nic_add.md)
47
51
  * [LoadbalancerNicRemove](subcommands/loadbalancer_nic_remove.md)
48
52
  * [LocationList](subcommands/location_list.md)
53
+ * [NatgatewayCreate](subcommands/natgateway_create.md)
54
+ * [NatgatewayDelete](subcommands/natgateway_delete.md)
55
+ * [NatgatewayLanAdd](subcommands/natgateway_lan_add.md)
56
+ * [NatgatewayLanRemove](subcommands/natgateway_lan_remove.md)
57
+ * [NatgatewayList](subcommands/natgateway_list.md)
58
+ * [NatgatewayRuleAdd](subcommands/natgateway_rule_add.md)
59
+ * [NatgatewayRuleList](subcommands/natgateway_rule_list.md)
60
+ * [NatgatewayRuleRemove](subcommands/natgateway_rule_remove.md)
61
+ * [NetworkloadbalancerCreate](subcommands/networkloadbalancer_create.md)
62
+ * [NetworkloadbalancerDelete](subcommands/networkloadbalancer_delete.md)
63
+ * [NetworkloadbalancerList](subcommands/networkloadbalancer_list.md)
64
+ * [NetworkloadbalancerRuleAdd](subcommands/networkloadbalancer_rule_add.md)
65
+ * [NetworkloadbalancerRuleList](subcommands/networkloadbalancer_rule_list.md)
66
+ * [NetworkloadbalancerRuleRemove](subcommands/networkloadbalancer_rule_remove.md)
67
+ * [NetworkloadbalancerRuleTargetAdd](subcommands/networkloadbalancer_rule_target_add.md)
68
+ * [NetworkloadbalancerRuleTargetList](subcommands/networkloadbalancer_rule_target_list.md)
69
+ * [NetworkloadbalancerRuleTargetRemove](subcommands/networkloadbalancer_rule_target_remove.md)
49
70
  * [NicCreate](subcommands/nic_create.md)
50
71
  * [NicDelete](subcommands/nic_delete.md)
51
72
  * [NicList](subcommands/nic_list.md)
@@ -54,6 +75,8 @@
54
75
  * [NodeReplace](subcommands/node_replace.md)
55
76
  * [NodepoolCreate](subcommands/nodepool_create.md)
56
77
  * [NodepoolDelete](subcommands/nodepool_delete.md)
78
+ * [NodepoolLanAdd](subcommands/nodepool_lan_add.md)
79
+ * [NodepoolLanRemove](subcommands/nodepool_lan_remove.md)
57
80
  * [NodepoolList](subcommands/nodepool_list.md)
58
81
  * [PccCreate](subcommands/pcc_create.md)
59
82
  * [PccDelete](subcommands/pcc_delete.md)
@@ -65,12 +88,17 @@
65
88
  * [S3keyCreate](subcommands/s3key_create.md)
66
89
  * [S3keyDelete](subcommands/s3key_delete.md)
67
90
  * [S3keyList](subcommands/s3key_list.md)
91
+ * [ServerConsole](subcommands/server_console.md)
68
92
  * [ServerCreate](subcommands/server_create.md)
69
93
  * [ServerDelete](subcommands/server_delete.md)
70
94
  * [ServerList](subcommands/server_list.md)
71
95
  * [ServerReboot](subcommands/server_reboot.md)
96
+ * [ServerResume](subcommands/server_resume.md)
72
97
  * [ServerStart](subcommands/server_start.md)
73
98
  * [ServerStop](subcommands/server_stop.md)
99
+ * [ServerSuspend](subcommands/server_suspend.md)
100
+ * [ServerToken](subcommands/server_token.md)
101
+ * [ServerUpgrade](subcommands/server_upgrade.md)
74
102
  * [ShareCreate](subcommands/share_create.md)
75
103
  * [ShareDelete](subcommands/share_delete.md)
76
104
  * [ShareList](subcommands/share_list.md)
@@ -78,6 +106,7 @@
78
106
  * [SnapshotDelete](subcommands/snapshot_delete.md)
79
107
  * [SnapshotList](subcommands/snapshot_list.md)
80
108
  * [SnapshotRestore](subcommands/snapshot_restore.md)
109
+ * [TemplateList](subcommands/template_list.md)
81
110
  * [UserCreate](subcommands/user_create.md)
82
111
  * [UserDelete](subcommands/user_delete.md)
83
112
  * [UserList](subcommands/user_list.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'
@@ -38,26 +38,22 @@ class Chef
38
38
 
39
39
  print "#{ui.color('Creating Backup unit...', :magenta)}"
40
40
 
41
- backupunit_api = Ionoscloud::BackupUnitApi.new(api_client)
42
-
43
- backupunit, _, headers = backupunit_api.backupunits_post_with_http_info({
44
- properties: {
45
- name: config[:name],
46
- password: config[:password],
47
- email: config[:email],
48
- }.compact,
49
- })
41
+ backupunit_api = Ionoscloud::BackupUnitsApi.new(api_client)
42
+
43
+ backupunit, _, headers = backupunit_api.backupunits_post_with_http_info(
44
+ Ionoscloud::BackupUnit.new(
45
+ properties: Ionoscloud::BackupUnitProperties.new(
46
+ name: config[:name],
47
+ password: config[:password],
48
+ email: config[:email],
49
+ ),
50
+ ),
51
+ )
50
52
 
51
53
  dot = ui.color('.', :magenta)
52
54
  api_client.wait_for { print dot; is_done? get_request_id headers }
53
55
 
54
- puts backupunit
55
-
56
- puts "\n"
57
- puts "#{ui.color('ID', :cyan)}: #{backupunit.id}"
58
- puts "#{ui.color('Name', :cyan)}: #{backupunit.properties.name}"
59
- puts "#{ui.color('Email', :cyan)}: #{backupunit.properties.email}"
60
- puts 'done'
56
+ print_backupunit(backupunit)
61
57
  end
62
58
  end
63
59
  end
@@ -24,7 +24,7 @@ class Chef
24
24
  handle_extra_config
25
25
  validate_required_params(@required_options, config)
26
26
 
27
- backupunit_api = Ionoscloud::BackupUnitApi.new(api_client)
27
+ backupunit_api = Ionoscloud::BackupUnitsApi.new(api_client)
28
28
 
29
29
  @name_args.each do |backupunit_id|
30
30
  begin
@@ -35,10 +35,7 @@ class Chef
35
35
  next
36
36
  end
37
37
 
38
- msg_pair('ID', backupunit.id)
39
- msg_pair('Name', backupunit.properties.name)
40
- msg_pair('Email', backupunit.properties.email)
41
-
38
+ print_backupunit(backupunit)
42
39
  puts "\n"
43
40
 
44
41
  begin
@@ -0,0 +1,33 @@
1
+ require_relative 'ionoscloud_base'
2
+
3
+ class Chef
4
+ class Knife
5
+ class IonoscloudBackupunitGet < Knife
6
+ include Knife::IonoscloudBase
7
+
8
+ banner 'knife ionoscloud backupunit get (options)'
9
+
10
+ option :backupunit_id,
11
+ short: '-B BACKUPUNIT_ID',
12
+ long: '--backupunit-id BACKUPUNIT_ID',
13
+ description: 'The ID of the Backup unit.'
14
+
15
+ attr_reader :description, :required_options
16
+
17
+ def initialize(args = [])
18
+ super(args)
19
+ @description =
20
+ 'Retrieves information about a backup unit.'
21
+ @required_options = [:backupunit_id, :ionoscloud_username, :ionoscloud_password]
22
+ end
23
+
24
+ def run
25
+ $stdout.sync = true
26
+ handle_extra_config
27
+ validate_required_params(@required_options, config)
28
+
29
+ print_backupunit(Ionoscloud::BackupUnitsApi.new(api_client).backupunits_find_by_id(config[:backupunit_id]))
30
+ end
31
+ end
32
+ end
33
+ end
@@ -27,7 +27,7 @@ class Chef
27
27
  ui.color('Email', :bold),
28
28
  ]
29
29
 
30
- backupunit_api = Ionoscloud::BackupUnitApi.new(api_client)
30
+ backupunit_api = Ionoscloud::BackupUnitsApi.new(api_client)
31
31
 
32
32
  backupunit_api.backupunits_get({ depth: 1 }).items.each do |backupunit|
33
33
  backupunit_list << backupunit.id
@@ -29,7 +29,7 @@ class Chef
29
29
  validate_required_params(@required_options, config)
30
30
 
31
31
  begin
32
- puts Ionoscloud::BackupUnitApi.new(api_client).backupunits_ssourl_get(config[:backupunit_id]).sso_url
32
+ puts Ionoscloud::BackupUnitsApi.new(api_client).backupunits_ssourl_get(config[:backupunit_id]).sso_url
33
33
  rescue Ionoscloud::ApiError => err
34
34
  raise err unless err.code == 404
35
35
  ui.error("Backup unit ID #{config[:backupunit_id]} not found.")
@@ -0,0 +1,62 @@
1
+ require_relative 'ionoscloud_base'
2
+
3
+ class Chef
4
+ class Knife
5
+ class IonoscloudBackupunitUpdate < Knife
6
+ include Knife::IonoscloudBase
7
+
8
+ banner 'knife ionoscloud backupunit update (options)'
9
+
10
+ option :backupunit_id,
11
+ short: '-B BACKUPUNIT_ID',
12
+ long: '--backupunit-id BACKUPUNIT_ID',
13
+ description: 'The ID of the Backup unit.'
14
+
15
+ option :password,
16
+ short: '-p PASSWORD',
17
+ long: '--password PASSWORD',
18
+ description: 'Alphanumeric password you want assigned to the backup unit'
19
+
20
+ option :email,
21
+ long: '--email EMAIL',
22
+ description: 'The e-mail address you want assigned to the backup unit.'
23
+
24
+ attr_reader :description, :required_options
25
+
26
+ def initialize(args = [])
27
+ super(args)
28
+ @description =
29
+ 'Retrieves information about a backup unit.'
30
+ @required_options = [:backupunit_id, :ionoscloud_username, :ionoscloud_password]
31
+ @updatable_fields = [:email, :password]
32
+ end
33
+
34
+ def run
35
+ $stdout.sync = true
36
+ handle_extra_config
37
+ validate_required_params(@required_options, config)
38
+
39
+ backupunit_api = Ionoscloud::BackupUnitsApi.new(api_client)
40
+
41
+ if @updatable_fields.map { |el| config[el] }.any?
42
+ print "#{ui.color('Updating Backup unit...', :magenta)}"
43
+
44
+ backupunit, _, headers = backupunit_api.backupunits_patch_with_http_info(
45
+ config[:backupunit_id],
46
+ Ionoscloud::BackupUnitProperties.new(
47
+ password: config[:password],
48
+ email: config[:email],
49
+ ),
50
+ )
51
+
52
+ dot = ui.color('.', :magenta)
53
+ api_client.wait_for { print dot; is_done? get_request_id headers }
54
+ else
55
+ ui.warn("Nothing to update, please set one of the attributes #{@updatable_fields}.")
56
+ end
57
+
58
+ print_backupunit(Ionoscloud::BackupUnitsApi.new(api_client).backupunits_find_by_id(config[:backupunit_id]))
59
+ end
60
+ end
61
+ end
62
+ end