knife-ionoscloud 5.0.0 → 6.0.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (330) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +4 -4
  3. data/.github/workflows/publish.yml +4 -1
  4. data/.rubocop.yml +0 -1
  5. data/docs/README.md +20 -0
  6. data/docs/docs_generator.rb +2 -2
  7. data/docs/subcommands/backupunit_create.md +5 -3
  8. data/docs/subcommands/backupunit_delete.md +5 -3
  9. data/docs/subcommands/backupunit_list.md +5 -3
  10. data/docs/subcommands/backupunit_ssourl.md +5 -3
  11. data/docs/subcommands/composite_server_create.md +13 -5
  12. data/docs/subcommands/contract_list.md +5 -3
  13. data/docs/subcommands/cube_server_create.md +91 -0
  14. data/docs/subcommands/datacenter_create.md +7 -4
  15. data/docs/subcommands/datacenter_delete.md +5 -3
  16. data/docs/subcommands/datacenter_list.md +5 -3
  17. data/docs/subcommands/firewall_create.md +9 -4
  18. data/docs/subcommands/firewall_delete.md +4 -2
  19. data/docs/subcommands/firewall_list.md +5 -3
  20. data/docs/subcommands/flowlog_create.md +63 -0
  21. data/docs/subcommands/flowlog_delete.md +51 -0
  22. data/docs/subcommands/flowlog_list.md +51 -0
  23. data/docs/subcommands/group_create.md +23 -3
  24. data/docs/subcommands/group_delete.md +5 -3
  25. data/docs/subcommands/group_get.md +5 -3
  26. data/docs/subcommands/group_list.md +5 -3
  27. data/docs/subcommands/group_user_add.md +4 -2
  28. data/docs/subcommands/group_user_remove.md +4 -2
  29. data/docs/subcommands/image_list.md +5 -3
  30. data/docs/subcommands/ipblock_create.md +5 -3
  31. data/docs/subcommands/ipblock_delete.md +5 -3
  32. data/docs/subcommands/ipblock_list.md +5 -3
  33. data/docs/subcommands/ipfailover_add.md +6 -4
  34. data/docs/subcommands/ipfailover_remove.md +5 -3
  35. data/docs/subcommands/k8s_create.md +11 -3
  36. data/docs/subcommands/k8s_delete.md +5 -3
  37. data/docs/subcommands/k8s_list.md +5 -3
  38. data/docs/subcommands/kubeconfig_get.md +5 -3
  39. data/docs/subcommands/label_add.md +5 -3
  40. data/docs/subcommands/label_list.md +5 -3
  41. data/docs/subcommands/label_remove.md +4 -2
  42. data/docs/subcommands/lan_create.md +8 -3
  43. data/docs/subcommands/lan_delete.md +4 -2
  44. data/docs/subcommands/lan_list.md +5 -3
  45. data/docs/subcommands/loadbalancer_create.md +5 -3
  46. data/docs/subcommands/loadbalancer_delete.md +4 -2
  47. data/docs/subcommands/loadbalancer_get.md +5 -3
  48. data/docs/subcommands/loadbalancer_list.md +5 -3
  49. data/docs/subcommands/loadbalancer_nic_add.md +4 -2
  50. data/docs/subcommands/loadbalancer_nic_remove.md +4 -2
  51. data/docs/subcommands/location_list.md +5 -3
  52. data/docs/subcommands/natgateway_create.md +41 -0
  53. data/docs/subcommands/natgateway_delete.md +35 -0
  54. data/docs/subcommands/natgateway_lan_add.md +46 -0
  55. data/docs/subcommands/natgateway_lan_remove.md +39 -0
  56. data/docs/subcommands/natgateway_list.md +35 -0
  57. data/docs/subcommands/natgateway_rule_add.md +66 -0
  58. data/docs/subcommands/natgateway_rule_list.md +38 -0
  59. data/docs/subcommands/natgateway_rule_remove.md +39 -0
  60. data/docs/subcommands/networkloadbalancer_create.md +54 -0
  61. data/docs/subcommands/networkloadbalancer_delete.md +35 -0
  62. data/docs/subcommands/networkloadbalancer_list.md +35 -0
  63. data/docs/subcommands/networkloadbalancer_rule_add.md +72 -0
  64. data/docs/subcommands/networkloadbalancer_rule_list.md +39 -0
  65. data/docs/subcommands/networkloadbalancer_rule_remove.md +39 -0
  66. data/docs/subcommands/networkloadbalancer_rule_target_add.md +64 -0
  67. data/docs/subcommands/networkloadbalancer_rule_target_list.md +43 -0
  68. data/docs/subcommands/networkloadbalancer_rule_target_remove.md +51 -0
  69. data/docs/subcommands/nic_create.md +7 -5
  70. data/docs/subcommands/nic_delete.md +4 -2
  71. data/docs/subcommands/nic_list.md +5 -3
  72. data/docs/subcommands/node_delete.md +4 -2
  73. data/docs/subcommands/node_list.md +5 -3
  74. data/docs/subcommands/node_replace.md +4 -2
  75. data/docs/subcommands/nodepool_create.md +8 -3
  76. data/docs/subcommands/nodepool_delete.md +4 -2
  77. data/docs/subcommands/nodepool_lan_add.md +49 -0
  78. data/docs/subcommands/nodepool_lan_remove.md +39 -0
  79. data/docs/subcommands/nodepool_list.md +5 -3
  80. data/docs/subcommands/pcc_create.md +6 -7
  81. data/docs/subcommands/pcc_delete.md +5 -3
  82. data/docs/subcommands/pcc_list.md +5 -3
  83. data/docs/subcommands/request_list.md +12 -4
  84. data/docs/subcommands/request_status.md +5 -3
  85. data/docs/subcommands/request_wait.md +5 -3
  86. data/docs/subcommands/resource_list.md +7 -3
  87. data/docs/subcommands/s3key_create.md +5 -3
  88. data/docs/subcommands/s3key_delete.md +4 -2
  89. data/docs/subcommands/s3key_list.md +5 -3
  90. data/docs/subcommands/server_console.md +39 -0
  91. data/docs/subcommands/server_create.md +5 -3
  92. data/docs/subcommands/server_delete.md +4 -2
  93. data/docs/subcommands/server_list.md +8 -3
  94. data/docs/subcommands/server_reboot.md +4 -2
  95. data/docs/subcommands/server_resume.md +35 -0
  96. data/docs/subcommands/server_start.md +4 -2
  97. data/docs/subcommands/server_stop.md +4 -2
  98. data/docs/subcommands/server_suspend.md +35 -0
  99. data/docs/subcommands/server_token.md +39 -0
  100. data/docs/subcommands/server_upgrade.md +39 -0
  101. data/docs/subcommands/share_create.md +5 -3
  102. data/docs/subcommands/share_delete.md +4 -2
  103. data/docs/subcommands/share_list.md +5 -3
  104. data/docs/subcommands/snapshot_create.md +17 -3
  105. data/docs/subcommands/snapshot_delete.md +5 -3
  106. data/docs/subcommands/snapshot_list.md +5 -3
  107. data/docs/subcommands/snapshot_restore.md +5 -3
  108. data/docs/subcommands/template_list.md +31 -0
  109. data/docs/subcommands/user_create.md +6 -4
  110. data/docs/subcommands/user_delete.md +5 -3
  111. data/docs/subcommands/user_list.md +5 -3
  112. data/docs/subcommands/user_ssourl.md +5 -3
  113. data/docs/subcommands/volume_attach.md +4 -2
  114. data/docs/subcommands/volume_create.md +12 -7
  115. data/docs/subcommands/volume_delete.md +4 -2
  116. data/docs/subcommands/volume_detach.md +4 -2
  117. data/docs/subcommands/volume_list.md +5 -3
  118. data/docs/summary.md +29 -1
  119. data/docs/templates/subcommand_doc.mustache +9 -7
  120. data/knife-ionoscloud.gemspec +1 -1
  121. data/lib/chef/knife/ionoscloud_backupunit_create.rb +2 -1
  122. data/lib/chef/knife/ionoscloud_backupunit_delete.rb +2 -1
  123. data/lib/chef/knife/ionoscloud_backupunit_list.rb +2 -1
  124. data/lib/chef/knife/ionoscloud_backupunit_ssourl.rb +3 -2
  125. data/lib/chef/knife/ionoscloud_base.rb +24 -1
  126. data/lib/chef/knife/ionoscloud_composite_server_create.rb +26 -23
  127. data/lib/chef/knife/ionoscloud_contract_list.rb +33 -23
  128. data/lib/chef/knife/ionoscloud_cube_server_create.rb +216 -0
  129. data/lib/chef/knife/ionoscloud_datacenter_create.rb +3 -2
  130. data/lib/chef/knife/ionoscloud_datacenter_delete.rb +2 -1
  131. data/lib/chef/knife/ionoscloud_datacenter_list.rb +5 -2
  132. data/lib/chef/knife/ionoscloud_firewall_create.rb +12 -4
  133. data/lib/chef/knife/ionoscloud_firewall_delete.rb +5 -3
  134. data/lib/chef/knife/ionoscloud_firewall_list.rb +6 -3
  135. data/lib/chef/knife/ionoscloud_flowlog_create.rb +122 -0
  136. data/lib/chef/knife/ionoscloud_flowlog_delete.rb +107 -0
  137. data/lib/chef/knife/ionoscloud_flowlog_list.rb +101 -0
  138. data/lib/chef/knife/ionoscloud_group_create.rb +51 -11
  139. data/lib/chef/knife/ionoscloud_group_delete.rb +8 -0
  140. data/lib/chef/knife/ionoscloud_group_get.rb +7 -0
  141. data/lib/chef/knife/ionoscloud_group_list.rb +20 -7
  142. data/lib/chef/knife/ionoscloud_group_user_add.rb +1 -0
  143. data/lib/chef/knife/ionoscloud_group_user_remove.rb +1 -0
  144. data/lib/chef/knife/ionoscloud_image_list.rb +5 -4
  145. data/lib/chef/knife/ionoscloud_ipblock_create.rb +2 -1
  146. data/lib/chef/knife/ionoscloud_ipblock_delete.rb +1 -0
  147. data/lib/chef/knife/ionoscloud_ipblock_list.rb +4 -1
  148. data/lib/chef/knife/ionoscloud_ipfailover_add.rb +2 -1
  149. data/lib/chef/knife/ionoscloud_ipfailover_remove.rb +2 -1
  150. data/lib/chef/knife/ionoscloud_k8s_create.rb +19 -0
  151. data/lib/chef/knife/ionoscloud_k8s_delete.rb +6 -2
  152. data/lib/chef/knife/ionoscloud_k8s_list.rb +1 -0
  153. data/lib/chef/knife/ionoscloud_kubeconfig_get.rb +1 -0
  154. data/lib/chef/knife/ionoscloud_label_add.rb +2 -1
  155. data/lib/chef/knife/ionoscloud_label_list.rb +2 -1
  156. data/lib/chef/knife/ionoscloud_label_remove.rb +2 -1
  157. data/lib/chef/knife/ionoscloud_lan_create.rb +8 -1
  158. data/lib/chef/knife/ionoscloud_lan_delete.rb +2 -1
  159. data/lib/chef/knife/ionoscloud_lan_list.rb +5 -2
  160. data/lib/chef/knife/ionoscloud_loadbalancer_create.rb +4 -2
  161. data/lib/chef/knife/ionoscloud_loadbalancer_delete.rb +2 -1
  162. data/lib/chef/knife/ionoscloud_loadbalancer_get.rb +2 -1
  163. data/lib/chef/knife/ionoscloud_loadbalancer_list.rb +2 -1
  164. data/lib/chef/knife/ionoscloud_loadbalancer_nic_add.rb +2 -1
  165. data/lib/chef/knife/ionoscloud_loadbalancer_nic_remove.rb +2 -1
  166. data/lib/chef/knife/ionoscloud_location_list.rb +6 -3
  167. data/lib/chef/knife/ionoscloud_natgateway_create.rb +70 -0
  168. data/lib/chef/knife/ionoscloud_natgateway_delete.rb +70 -0
  169. data/lib/chef/knife/ionoscloud_natgateway_lan_add.rb +81 -0
  170. data/lib/chef/knife/ionoscloud_natgateway_lan_remove.rb +59 -0
  171. data/lib/chef/knife/ionoscloud_natgateway_list.rb +50 -0
  172. data/lib/chef/knife/ionoscloud_natgateway_rule_add.rb +125 -0
  173. data/lib/chef/knife/ionoscloud_natgateway_rule_list.rb +64 -0
  174. data/lib/chef/knife/ionoscloud_natgateway_rule_remove.rb +73 -0
  175. data/lib/chef/knife/ionoscloud_networkloadbalancer_create.rb +96 -0
  176. data/lib/chef/knife/ionoscloud_networkloadbalancer_delete.rb +82 -0
  177. data/lib/chef/knife/ionoscloud_networkloadbalancer_list.rb +57 -0
  178. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_add.rb +151 -0
  179. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_list.rb +64 -0
  180. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_remove.rb +79 -0
  181. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_add.rb +142 -0
  182. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_list.rb +69 -0
  183. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_remove.rb +106 -0
  184. data/lib/chef/knife/ionoscloud_nic_create.rb +17 -14
  185. data/lib/chef/knife/ionoscloud_nic_delete.rb +5 -2
  186. data/lib/chef/knife/ionoscloud_nic_list.rb +10 -5
  187. data/lib/chef/knife/ionoscloud_node_delete.rb +1 -0
  188. data/lib/chef/knife/ionoscloud_node_list.rb +4 -2
  189. data/lib/chef/knife/ionoscloud_node_replace.rb +1 -0
  190. data/lib/chef/knife/ionoscloud_nodepool_create.rb +43 -16
  191. data/lib/chef/knife/ionoscloud_nodepool_delete.rb +26 -0
  192. data/lib/chef/knife/ionoscloud_nodepool_lan_add.rb +129 -0
  193. data/lib/chef/knife/ionoscloud_nodepool_lan_remove.rb +97 -0
  194. data/lib/chef/knife/ionoscloud_nodepool_list.rb +4 -1
  195. data/lib/chef/knife/ionoscloud_pcc_create.rb +36 -8
  196. data/lib/chef/knife/ionoscloud_pcc_delete.rb +2 -1
  197. data/lib/chef/knife/ionoscloud_pcc_list.rb +2 -1
  198. data/lib/chef/knife/ionoscloud_request_list.rb +26 -12
  199. data/lib/chef/knife/ionoscloud_request_status.rb +2 -1
  200. data/lib/chef/knife/ionoscloud_request_wait.rb +1 -0
  201. data/lib/chef/knife/ionoscloud_resource_list.rb +1 -0
  202. data/lib/chef/knife/ionoscloud_s3key_create.rb +3 -2
  203. data/lib/chef/knife/ionoscloud_s3key_delete.rb +4 -3
  204. data/lib/chef/knife/ionoscloud_s3key_list.rb +3 -2
  205. data/lib/chef/knife/ionoscloud_server_console.rb +43 -0
  206. data/lib/chef/knife/ionoscloud_server_create.rb +10 -9
  207. data/lib/chef/knife/ionoscloud_server_delete.rb +5 -4
  208. data/lib/chef/knife/ionoscloud_server_list.rb +19 -7
  209. data/lib/chef/knife/ionoscloud_server_reboot.rb +2 -1
  210. data/lib/chef/knife/ionoscloud_server_resume.rb +44 -0
  211. data/lib/chef/knife/ionoscloud_server_start.rb +2 -1
  212. data/lib/chef/knife/ionoscloud_server_stop.rb +2 -1
  213. data/lib/chef/knife/ionoscloud_server_suspend.rb +45 -0
  214. data/lib/chef/knife/ionoscloud_server_token.rb +43 -0
  215. data/lib/chef/knife/ionoscloud_server_upgrade.rb +45 -0
  216. data/lib/chef/knife/ionoscloud_share_create.rb +1 -0
  217. data/lib/chef/knife/ionoscloud_share_delete.rb +1 -0
  218. data/lib/chef/knife/ionoscloud_share_list.rb +1 -0
  219. data/lib/chef/knife/ionoscloud_snapshot_create.rb +27 -2
  220. data/lib/chef/knife/ionoscloud_snapshot_delete.rb +2 -1
  221. data/lib/chef/knife/ionoscloud_snapshot_list.rb +2 -1
  222. data/lib/chef/knife/ionoscloud_snapshot_restore.rb +3 -2
  223. data/lib/chef/knife/ionoscloud_template_list.rb +47 -0
  224. data/lib/chef/knife/ionoscloud_user_create.rb +5 -4
  225. data/lib/chef/knife/ionoscloud_user_delete.rb +1 -0
  226. data/lib/chef/knife/ionoscloud_user_list.rb +2 -1
  227. data/lib/chef/knife/ionoscloud_user_ssourl.rb +2 -1
  228. data/lib/chef/knife/ionoscloud_volume_attach.rb +2 -1
  229. data/lib/chef/knife/ionoscloud_volume_create.rb +34 -35
  230. data/lib/chef/knife/ionoscloud_volume_delete.rb +2 -1
  231. data/lib/chef/knife/ionoscloud_volume_detach.rb +2 -1
  232. data/lib/chef/knife/ionoscloud_volume_list.rb +4 -3
  233. data/lib/knife-ionoscloud/version.rb +1 -1
  234. data/spec/chef/knife/ionoscloud_backupunit_create_spec.rb +2 -2
  235. data/spec/chef/knife/ionoscloud_backupunit_delete_spec.rb +5 -5
  236. data/spec/chef/knife/ionoscloud_backupunit_list_spec.rb +1 -1
  237. data/spec/chef/knife/ionoscloud_backupunit_ssourl_spec.rb +3 -3
  238. data/spec/chef/knife/ionoscloud_base_spec.rb +4 -4
  239. data/spec/chef/knife/ionoscloud_composite_server_create_spec.rb +11 -8
  240. data/spec/chef/knife/ionoscloud_contract_list_spec.rb +32 -27
  241. data/spec/chef/knife/ionoscloud_cube_server_create_spec.rb +249 -0
  242. data/spec/chef/knife/ionoscloud_datacenter_create_spec.rb +3 -2
  243. data/spec/chef/knife/ionoscloud_datacenter_delete_spec.rb +5 -5
  244. data/spec/chef/knife/ionoscloud_datacenter_list_spec.rb +5 -3
  245. data/spec/chef/knife/ionoscloud_firewall_create_spec.rb +5 -3
  246. data/spec/chef/knife/ionoscloud_firewall_delete_spec.rb +6 -5
  247. data/spec/chef/knife/ionoscloud_firewall_list_spec.rb +5 -3
  248. data/spec/chef/knife/ionoscloud_flowlog_create_spec.rb +254 -0
  249. data/spec/chef/knife/ionoscloud_flowlog_delete_spec.rb +360 -0
  250. data/spec/chef/knife/ionoscloud_flowlog_list_spec.rb +264 -0
  251. data/spec/chef/knife/ionoscloud_group_create_spec.rb +12 -0
  252. data/spec/chef/knife/ionoscloud_group_delete_spec.rb +6 -0
  253. data/spec/chef/knife/ionoscloud_group_get_spec.rb +6 -0
  254. data/spec/chef/knife/ionoscloud_group_list_spec.rb +26 -8
  255. data/spec/chef/knife/ionoscloud_image_list_spec.rb +4 -4
  256. data/spec/chef/knife/ionoscloud_ipblock_list_spec.rb +3 -1
  257. data/spec/chef/knife/ionoscloud_ipfailover_add_spec.rb +3 -3
  258. data/spec/chef/knife/ionoscloud_ipfailover_remove_spec.rb +4 -4
  259. data/spec/chef/knife/ionoscloud_k8s_delete_spec.rb +5 -2
  260. data/spec/chef/knife/ionoscloud_kubeconfig_get_spec.rb +2 -2
  261. data/spec/chef/knife/ionoscloud_label_add_spec.rb +10 -10
  262. data/spec/chef/knife/ionoscloud_label_list_spec.rb +14 -14
  263. data/spec/chef/knife/ionoscloud_label_remove_spec.rb +20 -20
  264. data/spec/chef/knife/ionoscloud_lan_create_spec.rb +5 -3
  265. data/spec/chef/knife/ionoscloud_lan_delete_spec.rb +5 -5
  266. data/spec/chef/knife/ionoscloud_lan_list_spec.rb +5 -3
  267. data/spec/chef/knife/ionoscloud_loadbalancer_create_spec.rb +3 -3
  268. data/spec/chef/knife/ionoscloud_loadbalancer_delete_spec.rb +5 -5
  269. data/spec/chef/knife/ionoscloud_loadbalancer_get_spec.rb +2 -2
  270. data/spec/chef/knife/ionoscloud_loadbalancer_list_spec.rb +2 -2
  271. data/spec/chef/knife/ionoscloud_loadbalancer_nic_add_spec.rb +6 -6
  272. data/spec/chef/knife/ionoscloud_loadbalancer_nic_remove_spec.rb +6 -6
  273. data/spec/chef/knife/ionoscloud_location_list_spec.rb +5 -3
  274. data/spec/chef/knife/ionoscloud_natgateway_create_spec.rb +77 -0
  275. data/spec/chef/knife/ionoscloud_natgateway_delete_spec.rb +118 -0
  276. data/spec/chef/knife/ionoscloud_natgateway_lan_add_spec.rb +143 -0
  277. data/spec/chef/knife/ionoscloud_natgateway_lan_remove_spec.rb +194 -0
  278. data/spec/chef/knife/ionoscloud_natgateway_list_spec.rb +79 -0
  279. data/spec/chef/knife/ionoscloud_natgateway_rule_add_spec.rb +98 -0
  280. data/spec/chef/knife/ionoscloud_natgateway_rule_list_spec.rb +92 -0
  281. data/spec/chef/knife/ionoscloud_natgateway_rule_remove_spec.rb +77 -0
  282. data/spec/chef/knife/ionoscloud_networkloadbalancer_create_spec.rb +80 -0
  283. data/spec/chef/knife/ionoscloud_networkloadbalancer_delete_spec.rb +119 -0
  284. data/spec/chef/knife/ionoscloud_networkloadbalancer_list_spec.rb +88 -0
  285. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_add_spec.rb +104 -0
  286. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_list_spec.rb +89 -0
  287. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_remove_spec.rb +124 -0
  288. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_add_spec.rb +109 -0
  289. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_list_spec.rb +85 -0
  290. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_remove_spec.rb +263 -0
  291. data/spec/chef/knife/ionoscloud_nic_create_spec.rb +9 -5
  292. data/spec/chef/knife/ionoscloud_nic_delete_spec.rb +8 -6
  293. data/spec/chef/knife/ionoscloud_nic_list_spec.rb +12 -6
  294. data/spec/chef/knife/ionoscloud_node_list_spec.rb +3 -1
  295. data/spec/chef/knife/ionoscloud_nodepool_create_spec.rb +15 -1
  296. data/spec/chef/knife/ionoscloud_nodepool_lan_add_spec.rb +226 -0
  297. data/spec/chef/knife/ionoscloud_nodepool_lan_remove.rb +199 -0
  298. data/spec/chef/knife/ionoscloud_nodepool_list_spec.rb +3 -1
  299. data/spec/chef/knife/ionoscloud_pcc_create_spec.rb +36 -5
  300. data/spec/chef/knife/ionoscloud_pcc_delete_spec.rb +5 -5
  301. data/spec/chef/knife/ionoscloud_pcc_list_spec.rb +2 -2
  302. data/spec/chef/knife/ionoscloud_request_list_spec.rb +127 -8
  303. data/spec/chef/knife/ionoscloud_request_status_spec.rb +3 -3
  304. data/spec/chef/knife/ionoscloud_s3key_create_spec.rb +2 -2
  305. data/spec/chef/knife/ionoscloud_s3key_delete_spec.rb +5 -5
  306. data/spec/chef/knife/ionoscloud_s3key_list_spec.rb +2 -2
  307. data/spec/chef/knife/ionoscloud_server_console_spec.rb +97 -0
  308. data/spec/chef/knife/ionoscloud_server_create_spec.rb +3 -3
  309. data/spec/chef/knife/ionoscloud_server_delete_spec.rb +5 -5
  310. data/spec/chef/knife/ionoscloud_server_list_spec.rb +65 -7
  311. data/spec/chef/knife/ionoscloud_server_reboot_spec.rb +3 -5
  312. data/spec/chef/knife/ionoscloud_server_resume_spec.rb +93 -0
  313. data/spec/chef/knife/ionoscloud_server_start_spec.rb +3 -5
  314. data/spec/chef/knife/ionoscloud_server_stop_spec.rb +3 -5
  315. data/spec/chef/knife/ionoscloud_server_suspend_spec.rb +93 -0
  316. data/spec/chef/knife/ionoscloud_server_token_spec.rb +97 -0
  317. data/spec/chef/knife/ionoscloud_server_upgrade_spec.rb +96 -0
  318. data/spec/chef/knife/ionoscloud_snapshot_create_spec.rb +13 -3
  319. data/spec/chef/knife/ionoscloud_snapshot_delete_spec.rb +5 -5
  320. data/spec/chef/knife/ionoscloud_snapshot_list_spec.rb +2 -2
  321. data/spec/chef/knife/ionoscloud_snapshot_restore_spec.rb +3 -3
  322. data/spec/chef/knife/ionoscloud_template_list_spec.rb +78 -0
  323. data/spec/chef/knife/ionoscloud_user_ssourl_spec.rb +3 -3
  324. data/spec/chef/knife/ionoscloud_volume_attach_spec.rb +4 -4
  325. data/spec/chef/knife/ionoscloud_volume_create_spec.rb +6 -58
  326. data/spec/chef/knife/ionoscloud_volume_delete_spec.rb +5 -5
  327. data/spec/chef/knife/ionoscloud_volume_detach_spec.rb +5 -5
  328. data/spec/chef/knife/ionoscloud_volume_list_spec.rb +4 -4
  329. data/spec/spec_helper.rb +235 -36
  330. metadata +122 -6
@@ -0,0 +1,64 @@
1
+ # NetworkloadbalancerRuleTargetAdd
2
+
3
+ Adds a target to a Network Load Balancer Forwarding Rule under a data center.
4
+
5
+ ```text
6
+ knife ionoscloud networkloadbalancer rule target add (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * network\_loadbalancer\_id
15
+ * forwarding\_rule\_id
16
+ * ip
17
+ * port
18
+ * weight
19
+ * ionoscloud\_username
20
+ * ionoscloud\_password
21
+
22
+ ```text
23
+ datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
24
+ name of the data center (required)
25
+
26
+ network_loadbalancer_id: --network-loadbalancer NETWORK_LOADBALANCER_ID, -L NETWORK_LOADBALANCER_ID
27
+ iD of the Network Loadbalancer (required)
28
+
29
+ forwarding_rule_id: --forwarding-rule FORWARDING_RULE_ID, -R FORWARDING_RULE_ID
30
+ iD of the Network Loadbalancer Forwarding Rule (required)
31
+
32
+ ip: --ip IP, -i IP
33
+ iP of a balanced target VM (required)
34
+
35
+ port: --port PORT, -p PORT
36
+ port of the balanced target service. (range: 1 to 65535) (required)
37
+
38
+ weight: --weight WEIGTH, -w WEIGTH
39
+ weight parameter is used to adjust the target VM's weight relative to other target VMs. All target VMs will receive a load proportional to their weight relative to the sum of all weights, so the higher the weight, the higher the load. The default weight is 1, and the maximal value is 256. A value of 0 means the target VM will not participate in load-balancing but will still accept persistent connections. If this parameter is used to distribute the load according to target VM's capacity, it is recommended to start with values which can both grow and shrink, for instance between 10 and 100 to leave enough room above and below for later adjustments. (required)
40
+
41
+ check: --check, -c
42
+ check specifies whether the target VM's health is checked. If turned off, a target VM is always considered available. If turned on, the target VM is available when accepting periodic TCP connections, to ensure that it is really able to serve requests. The address and port to send the tests to are those of the target VM. The health check only consists of a connection attempt.
43
+
44
+ check_interval: --check-interval CHECK_INTERVAL
45
+ checkInterval determines the duration (in milliseconds) between consecutive health checks. If unspecified a default of 2000 ms is used.
46
+
47
+ maintenance: --maintenance MAINTENANCE, -m
48
+ maintenance specifies if a target VM should be marked as down, even if it is not.
49
+
50
+ ionoscloud_username: --username USERNAME, -u USERNAME
51
+ your Ionoscloud username (required)
52
+
53
+ ionoscloud_password: --password PASSWORD, -p PASSWORD
54
+ your Ionoscloud password (required)
55
+
56
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
57
+ path to the additional config file
58
+
59
+ ```
60
+ ## Example
61
+
62
+ ```text
63
+ knife ionoscloud networkloadbalancer rule target add --datacenter-id DATACENTER_ID --network-loadbalancer NETWORK_LOADBALANCER_ID --forwarding-rule FORWARDING_RULE_ID --ip IP --port PORT --weight WEIGTH --check --check-interval CHECK_INTERVAL --maintenance MAINTENANCE --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
64
+ ```
@@ -0,0 +1,43 @@
1
+ # NetworkloadbalancerRuleTargetList
2
+
3
+ Lists all targets of a Network Loadbalancer Forwarding Rule under a data center.
4
+
5
+ ```text
6
+ knife ionoscloud networkloadbalancer rule target list (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * network\_loadbalancer\_id
15
+ * forwarding\_rule\_id
16
+ * ionoscloud\_username
17
+ * ionoscloud\_password
18
+
19
+ ```text
20
+ datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
21
+ the ID of the data center (required)
22
+
23
+ network_loadbalancer_id: --network-loadbalancer NETWORK_LOADBALANCER_ID, -L NETWORK_LOADBALANCER_ID
24
+ iD of the Network Loadbalancer (required)
25
+
26
+ forwarding_rule_id: --forwarding-rule FORWARDING_RULE_ID, -R FORWARDING_RULE_ID
27
+ iD of the Network Loadbalancer Forwarding Rule (required)
28
+
29
+ ionoscloud_username: --username USERNAME, -u USERNAME
30
+ your Ionoscloud username (required)
31
+
32
+ ionoscloud_password: --password PASSWORD, -p PASSWORD
33
+ your Ionoscloud password (required)
34
+
35
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
36
+ path to the additional config file
37
+
38
+ ```
39
+ ## Example
40
+
41
+ ```text
42
+ knife ionoscloud networkloadbalancer rule target list --datacenter-id DATACENTER_ID --network-loadbalancer NETWORK_LOADBALANCER_ID --forwarding-rule FORWARDING_RULE_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
43
+ ```
@@ -0,0 +1,51 @@
1
+ # NetworkloadbalancerRuleTargetRemove
2
+
3
+ Adds a target to a Network Load Balancer Forwarding Rule under a data center.
4
+
5
+ ```text
6
+ knife ionoscloud networkloadbalancer rule target remove (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * network\_loadbalancer\_id
15
+ * forwarding\_rule\_id
16
+ * ip
17
+ * port
18
+ * ionoscloud\_username
19
+ * ionoscloud\_password
20
+
21
+ ```text
22
+ datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
23
+ name of the data center (required)
24
+
25
+ network_loadbalancer_id: --network-loadbalancer NETWORK_LOADBALANCER_ID, -L NETWORK_LOADBALANCER_ID
26
+ iD of the Network Loadbalancer (required)
27
+
28
+ forwarding_rule_id: --forwarding-rule FORWARDING_RULE_ID, -R FORWARDING_RULE_ID
29
+ iD of the Network Loadbalancer Forwarding Rule (required)
30
+
31
+ ip: --ip IP, -i IP
32
+ iP of a balanced target VM (required)
33
+
34
+ port: --port PORT, -p PORT
35
+ port of the balanced target service. (range: 1 to 65535) (required)
36
+
37
+ ionoscloud_username: --username USERNAME, -u USERNAME
38
+ your Ionoscloud username (required)
39
+
40
+ ionoscloud_password: --password PASSWORD, -p PASSWORD
41
+ your Ionoscloud password (required)
42
+
43
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
44
+ path to the additional config file
45
+
46
+ ```
47
+ ## Example
48
+
49
+ ```text
50
+ knife ionoscloud networkloadbalancer rule target remove --datacenter-id DATACENTER_ID --network-loadbalancer NETWORK_LOADBALANCER_ID --forwarding-rule FORWARDING_RULE_ID --ip IP --port PORT --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
51
+ ```
@@ -35,19 +35,21 @@ knife ionoscloud nic create (options)
35
35
  lan: --lan ID, -l ID
36
36
  the LAN ID the NIC will reside on; if the LAN ID does not exist it will be created (required)
37
37
 
38
- nat: --nat
39
- set to enable NAT on the NIC
38
+ firewall_type: --firewall-type FIREWALL_TYPE, -t FIREWALL_TYPE
39
+ the type of firewall rules that will be allowed on the NIC. If it is not specified it will take the default value INGRESS
40
40
 
41
41
  ionoscloud_username: --username USERNAME, -u USERNAME
42
42
  your Ionoscloud username (required)
43
43
 
44
44
  ionoscloud_password: --password PASSWORD, -p PASSWORD
45
45
  your Ionoscloud password (required)
46
- ```
47
46
 
47
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
48
+ path to the additional config file
49
+
50
+ ```
48
51
  ## Example
49
52
 
50
53
  ```text
51
- knife ionoscloud nic create --datacenter-id DATACENTER_ID --server-id SERVER_ID --name NAME --ips IP[,IP,...] --dhcp --lan ID --nat --username USERNAME --password PASSWORD
54
+ knife ionoscloud nic create --datacenter-id DATACENTER_ID --server-id SERVER_ID --name NAME --ips IP[,IP,...] --dhcp --lan ID --firewall-type FIREWALL_TYPE --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
52
55
  ```
53
-
@@ -27,11 +27,13 @@ knife ionoscloud nic delete NIC_ID [NIC_ID] (options)
27
27
 
28
28
  ionoscloud_password: --password PASSWORD, -p PASSWORD
29
29
  your Ionoscloud password (required)
30
- ```
31
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
+ ```
32
35
  ## Example
33
36
 
34
37
  ```text
35
38
  knife ionoscloud nic delete NIC_ID
36
39
  ```
37
-
@@ -27,11 +27,13 @@ knife ionoscloud nic list (options)
27
27
 
28
28
  ionoscloud_password: --password PASSWORD, -p PASSWORD
29
29
  your Ionoscloud password (required)
30
- ```
31
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
+ ```
32
35
  ## Example
33
36
 
34
37
  ```text
35
- knife ionoscloud nic list --datacenter-id DATACENTER_ID --server-id SERVER_ID --username USERNAME --password PASSWORD
38
+ knife ionoscloud nic list --datacenter-id DATACENTER_ID --server-id SERVER_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
36
39
  ```
37
-
@@ -27,11 +27,13 @@ knife ionoscloud node delete NODE_ID [NODE_ID] (options)
27
27
 
28
28
  ionoscloud_password: --password PASSWORD, -p PASSWORD
29
29
  your Ionoscloud password (required)
30
- ```
31
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
+ ```
32
35
  ## Example
33
36
 
34
37
  ```text
35
38
  knife ionoscloud node delete NODE_ID
36
39
  ```
37
-
@@ -27,11 +27,13 @@ knife ionoscloud node list
27
27
 
28
28
  ionoscloud_password: --password PASSWORD, -p PASSWORD
29
29
  your Ionoscloud password (required)
30
- ```
31
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
+ ```
32
35
  ## Example
33
36
 
34
37
  ```text
35
- knife ionoscloud node list--cluster-id CLUSTER_ID --nodepool-id NODEPOOL_ID --username USERNAME --password PASSWORD
38
+ knife ionoscloud node list--cluster-id CLUSTER_ID --nodepool-id NODEPOOL_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
36
39
  ```
37
-
@@ -29,11 +29,13 @@ knife ionoscloud node replace NODE_ID [NODE_ID] (options)
29
29
 
30
30
  ionoscloud_password: --password PASSWORD, -p PASSWORD
31
31
  your Ionoscloud password (required)
32
- ```
33
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
+ ```
34
37
  ## Example
35
38
 
36
39
  ```text
37
40
  knife ionoscloud node replace NODE_ID
38
41
  ```
39
-
@@ -75,16 +75,21 @@ knife ionoscloud nodepool create (options)
75
75
  lans: --lans LAN_ID [LAN_ID]
76
76
  an array of additional private LANs attached to worker nodes
77
77
 
78
+ public_ips: --ips PUBLIC_IP [PUBLIC_IP]
79
+ optional array of reserved public IP addresses to be used by the nodes. IPs must be from same location as the data center used for the node pool. The array must contain one extra IP than maximum number of nodes could be. (nodeCount+1 if fixed node amount or maxNodeCount+1 if auto scaling is used) The extra provided IP Will be used during rebuilding of nodes.
80
+
78
81
  ionoscloud_username: --username USERNAME, -u USERNAME
79
82
  your Ionoscloud username (required)
80
83
 
81
84
  ionoscloud_password: --password PASSWORD, -p PASSWORD
82
85
  your Ionoscloud password (required)
83
- ```
84
86
 
87
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
88
+ path to the additional config file
89
+
90
+ ```
85
91
  ## Example
86
92
 
87
93
  ```text
88
- knife ionoscloud nodepool create --datacenter-id DATACENTER_ID --cluster-id CLUSTER_ID --name NAME --version VERSION --maintenance-day MAINTENANCE_DAY --maintenance-time MAINTENANCE_TIME --node-count NODE_COUNT --cpu-family CPU_FAMILY --cores CORES --ram RAM --availability-zone AVAILABILITY_ZONE --storage-type STORAGE_TYPE --storage-size STORAGE_SIZE --min-node-count MIN_NODE_COUNT --max-node-count MAX_NODE_COUNT --lans LAN_ID [LAN_ID] --username USERNAME --password PASSWORD
94
+ knife ionoscloud nodepool create --datacenter-id DATACENTER_ID --cluster-id CLUSTER_ID --name NAME --version VERSION --maintenance-day MAINTENANCE_DAY --maintenance-time MAINTENANCE_TIME --node-count NODE_COUNT --cpu-family CPU_FAMILY --cores CORES --ram RAM --availability-zone AVAILABILITY_ZONE --storage-type STORAGE_TYPE --storage-size STORAGE_SIZE --min-node-count MIN_NODE_COUNT --max-node-count MAX_NODE_COUNT --lans LAN_ID [LAN_ID] --ips PUBLIC_IP [PUBLIC_IP] --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
89
95
  ```
90
-
@@ -23,11 +23,13 @@ knife ionoscloud nodepool delete NODEPOOL_ID [NODEPOOL_ID] (options)
23
23
 
24
24
  ionoscloud_password: --password PASSWORD, -p PASSWORD
25
25
  your Ionoscloud password (required)
26
- ```
27
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
+ ```
28
31
  ## Example
29
32
 
30
33
  ```text
31
34
  knife ionoscloud nodepool delete NODEPOOL_ID
32
35
  ```
33
-
@@ -0,0 +1,49 @@
1
+ # NodepoolLanAdd
2
+
3
+ Adds or updates a LAN within a Nodepool.
4
+
5
+ ```text
6
+ knife ionoscloud nodepool lan add (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * cluster\_id
14
+ * nodepool\_id
15
+ * lan\_id
16
+ * ionoscloud\_username
17
+ * ionoscloud\_password
18
+
19
+ ```text
20
+ cluster_id: --cluster-id CLUSTER_ID, -C CLUSTER_ID
21
+ iD of the Kubernetes cluster (required)
22
+
23
+ nodepool_id: --nodepool NODEPOOL_ID, -N NODEPOOL_ID
24
+ the ID of the K8s Nodepool (required)
25
+
26
+ lan_id: --lan LAN_ID, -L LAN_ID
27
+ the ID of the LAN (required)
28
+
29
+ no_dhcp: --nodhcp
30
+ indicates if the Kubernetes Node Pool LAN will reserve an IP using DHCP
31
+
32
+ routes: --routes NETWORK,GATEWAY_IP [NETWORK,GATEWAY_IP]
33
+ an array of additional LANs attached to worker nodes
34
+
35
+ ionoscloud_username: --username USERNAME, -u USERNAME
36
+ your Ionoscloud username (required)
37
+
38
+ ionoscloud_password: --password PASSWORD, -p PASSWORD
39
+ your Ionoscloud password (required)
40
+
41
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
42
+ path to the additional config file
43
+
44
+ ```
45
+ ## Example
46
+
47
+ ```text
48
+ knife ionoscloud nodepool lan add --cluster-id CLUSTER_ID --nodepool NODEPOOL_ID --lan LAN_ID --nodhcp --routes NETWORK,GATEWAY_IP [NETWORK,GATEWAY_IP] --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
49
+ ```
@@ -0,0 +1,39 @@
1
+ # NodepoolLanRemove
2
+
3
+ Adds or updates a LAN within a Nodepool.
4
+
5
+ ```text
6
+ knife ionoscloud nodepool lan remove LAN_ID [LAN_ID] (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * cluster\_id
14
+ * nodepool\_id
15
+ * ionoscloud\_username
16
+ * ionoscloud\_password
17
+
18
+ ```text
19
+ cluster_id: --cluster-id CLUSTER_ID, -C CLUSTER_ID
20
+ iD of the Kubernetes cluster (required)
21
+
22
+ nodepool_id: --nodepool NODEPOOL_ID, -N NODEPOOL_ID
23
+ the ID of the K8s Nodepool (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 nodepool lan remove LAN_ID
39
+ ```
@@ -23,11 +23,13 @@ knife ionoscloud nodepool list
23
23
 
24
24
  ionoscloud_password: --password PASSWORD, -p PASSWORD
25
25
  your Ionoscloud password (required)
26
- ```
27
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
+ ```
28
31
  ## Example
29
32
 
30
33
  ```text
31
- knife ionoscloud nodepool list--cluster-id CLUSTER_ID --username USERNAME --password PASSWORD
34
+ knife ionoscloud nodepool list--cluster-id CLUSTER_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
32
35
  ```
33
-
@@ -20,22 +20,21 @@ knife ionoscloud pcc create (options)
20
20
  description: --description DESCRIPTION, -D DESCRIPTION
21
21
  description of the data center
22
22
 
23
- peers: --peers LAN_ID [LAN_ID]
23
+ peers: --peers DATACENTER_ID,LAN_ID [DATACENTER_ID,LAN_ID]
24
24
  an array of LANs joined to this private cross connect
25
25
 
26
- datacenters: --datacenters DATACENTER_IS [DATACENTER_IS]
27
- an array of datacenters joined to this private cross connect
28
-
29
26
  ionoscloud_username: --username USERNAME, -u USERNAME
30
27
  your Ionoscloud username (required)
31
28
 
32
29
  ionoscloud_password: --password PASSWORD, -p PASSWORD
33
30
  your Ionoscloud password (required)
34
- ```
35
31
 
32
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
33
+ path to the additional config file
34
+
35
+ ```
36
36
  ## Example
37
37
 
38
38
  ```text
39
- knife ionoscloud pcc create --name NAME --description DESCRIPTION --peers LAN_ID [LAN_ID] --datacenters DATACENTER_IS [DATACENTER_IS] --username USERNAME --password PASSWORD
39
+ knife ionoscloud pcc create --name NAME --description DESCRIPTION --peers DATACENTER_ID,LAN_ID [DATACENTER_ID,LAN_ID] --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
40
40
  ```
41
-