knife-ionoscloud 5.0.0 → 6.0.0.beta.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 (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
@@ -31,11 +31,13 @@ knife ionoscloud firewall list (options)
31
31
 
32
32
  ionoscloud_password: --password PASSWORD, -p PASSWORD
33
33
  your Ionoscloud password (required)
34
- ```
35
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
+ ```
36
39
  ## Example
37
40
 
38
41
  ```text
39
- knife ionoscloud firewall list --datacenter-id DATACENTER_ID --server-id SERVER_ID --nic-id NIC_ID --username USERNAME --password PASSWORD
42
+ knife ionoscloud firewall list --datacenter-id DATACENTER_ID --server-id SERVER_ID --nic-id NIC_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
40
43
  ```
41
-
@@ -0,0 +1,63 @@
1
+ # FlowlogCreate
2
+
3
+ This will add a Flow Log to the network interface, NAT Gateway or Network Load Balancer.
4
+
5
+ ```text
6
+ knife ionoscloud flowlog create (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * type
15
+ * ionoscloud\_username
16
+ * ionoscloud\_password
17
+
18
+ ```text
19
+ datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
20
+ iD of the data center (required)
21
+
22
+ type: --type FLOWLOG_TYPE, -t FLOWLOG_TYPE
23
+ the object to which the flow log will be attached (required)
24
+
25
+ server_id: --server-id SERVER_ID, -S SERVER_ID
26
+ iD of the server
27
+
28
+ nic_id: --nic-id NIC_ID, -N NIC_ID
29
+ iD of the NIC
30
+
31
+ natgateway_id: --natgateway NAT_GATEWAY_ID, -G NAT_GATEWAY_ID
32
+ iD of the NAT Gateway
33
+
34
+ network_loadbalancer_id: --network-loadbalancer NETWORK_LOADBALANCER, -L NETWORK_LOADBALANCER
35
+ iD of the Network Load Balancer
36
+
37
+ name: --name NAME, -n NAME
38
+ name of the Flow Log
39
+
40
+ action: --action ACTION, -a ACTION
41
+ specifies the traffic action pattern. Must be one of ["ALL", "ACCEPTED", "REJECTED"].
42
+
43
+ direction: --direction DIRECTION
44
+ specifies the traffic direction pattern. Must be one of ["INGRESS", "EGRESS", "BIDIRECTIONAL"].
45
+
46
+ bucket: --bucket BUCKET, -b BUCKET
47
+ s3 bucket name of an existing IONOS Cloud S3 bucket. Ex. bucketName/key
48
+
49
+ ionoscloud_username: --username USERNAME, -u USERNAME
50
+ your Ionoscloud username (required)
51
+
52
+ ionoscloud_password: --password PASSWORD, -p PASSWORD
53
+ your Ionoscloud password (required)
54
+
55
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
56
+ path to the additional config file
57
+
58
+ ```
59
+ ## Example
60
+
61
+ ```text
62
+ knife ionoscloud flowlog create --datacenter-id DATACENTER_ID --type FLOWLOG_TYPE --server-id SERVER_ID --nic-id NIC_ID --natgateway NAT_GATEWAY_ID --network-loadbalancer NETWORK_LOADBALANCER --name NAME --action ACTION --direction DIRECTION --bucket BUCKET --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
63
+ ```
@@ -0,0 +1,51 @@
1
+ # FlowlogDelete
2
+
3
+ Removes the specified Flow Logs.
4
+
5
+ ```text
6
+ knife ionoscloud flowlog delete FLOWLOG_ID [FLOWLOG_ID] (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * type
15
+ * ionoscloud\_username
16
+ * ionoscloud\_password
17
+
18
+ ```text
19
+ datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
20
+ the ID of the data center (required)
21
+
22
+ type: --type FLOWLOG_TYPE, -t FLOWLOG_TYPE
23
+ the object to which the flow log will be attached (required)
24
+
25
+ server_id: --server-id SERVER_ID, -S SERVER_ID
26
+ the ID of the server
27
+
28
+ nic_id: --nic-id NIC_ID, -N NIC_ID
29
+ iD of the NIC
30
+
31
+ natgateway_id: --nat-gateway NAT_GATEWAY_ID, -G NAT_GATEWAY_ID
32
+ iD of the NAT Gateway
33
+
34
+ network_loadbalancer_id: --network-loadbalancer NETWORK_LOADBALANCER, -L NETWORK_LOADBALANCER
35
+ iD of the Network Load Balancer
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 flowlog delete FLOWLOG_ID
51
+ ```
@@ -0,0 +1,51 @@
1
+ # FlowlogList
2
+
3
+ Lists all available flow logs assigned to a NIC, NAT Gateway or Network Load Balancer.
4
+
5
+ ```text
6
+ knife ionoscloud flowlog list (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * type
15
+ * ionoscloud\_username
16
+ * ionoscloud\_password
17
+
18
+ ```text
19
+ datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
20
+ iD of the data center (required)
21
+
22
+ type: --type FLOWLOG_TYPE, -t FLOWLOG_TYPE
23
+ the object to which the flow log will be attached (required)
24
+
25
+ server_id: --server-id SERVER_ID, -S SERVER_ID
26
+ the ID of the server
27
+
28
+ nic_id: --nic-id NIC_ID, -N NIC_ID
29
+ iD of the NIC
30
+
31
+ natgateway_id: --nat-gateway NAT_GATEWAY_ID, -G NAT_GATEWAY_ID
32
+ iD of the NAT Gateway
33
+
34
+ network_loadbalancer_id: --network-loadbalancer NETWORK_LOADBALANCER, -L NETWORK_LOADBALANCER
35
+ iD of the Network Load Balancer
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 flowlog list --datacenter-id DATACENTER_ID --type FLOWLOG_TYPE --server-id SERVER_ID --nic-id NIC_ID --nat-gateway NAT_GATEWAY_ID --network-loadbalancer NETWORK_LOADBALANCER --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
51
+ ```
@@ -36,16 +36,36 @@ knife ionoscloud group create (options)
36
36
  create_backup_unit: --create-backupunit, -b
37
37
  the group will be able to manage backup units.
38
38
 
39
+ create_k8s_cluster: --create-k8s-cluster
40
+ the group will be able to create kubernetes clusters.
41
+
42
+ create_pcc: --create-pcc
43
+ the group will be able to manage pccs.
44
+
45
+ create_internet_access: --create-internet-access
46
+ the group will be have internet access privilege.
47
+
48
+ create_flow_log: --create-flow-log
49
+ the group will be granted create Flow Logs privilege.
50
+
51
+ access_and_manage_monitoring: --manage-monitoring
52
+ privilege for a group to access and manage monitoring related functionality (access metrics, CRUD on alarms, alarm-actions etc) using Monotoring-as-a-Service (MaaS).
53
+
54
+ access_and_manage_certificates: --manage-certificates
55
+ privilege for a group to access and manage certificates.
56
+
39
57
  ionoscloud_username: --username USERNAME, -u USERNAME
40
58
  your Ionoscloud username (required)
41
59
 
42
60
  ionoscloud_password: --password PASSWORD, -p PASSWORD
43
61
  your Ionoscloud password (required)
44
- ```
45
62
 
63
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
64
+ path to the additional config file
65
+
66
+ ```
46
67
  ## Example
47
68
 
48
69
  ```text
49
- knife ionoscloud group create --name NAME --create-datacenter --create-snapshot --reserve-ip --access-log --s3 --create-backupunit --username USERNAME --password PASSWORD
70
+ knife ionoscloud group create --name NAME --create-datacenter --create-snapshot --reserve-ip --access-log --s3 --create-backupunit --create-k8s-cluster --create-pcc --create-internet-access --create-flow-log --manage-monitoring --manage-certificates --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
50
71
  ```
51
-
@@ -19,11 +19,13 @@ knife ionoscloud group delete GROUP_ID [GROUP_ID]
19
19
 
20
20
  ionoscloud_password: --password PASSWORD, -p PASSWORD
21
21
  your Ionoscloud password (required)
22
- ```
23
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
+ ```
24
27
  ## Example
25
28
 
26
29
  ```text
27
- knife ionoscloud group delete GROUP_ID [GROUP_ID]--username USERNAME --password PASSWORD
30
+ knife ionoscloud group delete GROUP_ID [GROUP_ID]--username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
28
31
  ```
29
-
@@ -23,11 +23,13 @@ knife ionoscloud group get (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
- knife ionoscloud group get --group-id GROUP_ID --username USERNAME --password PASSWORD
34
+ knife ionoscloud group get --group-id GROUP_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
32
35
  ```
33
-
@@ -22,11 +22,13 @@ knife ionoscloud group list (options)
22
22
 
23
23
  ionoscloud_password: --password PASSWORD, -p PASSWORD
24
24
  your Ionoscloud password (required)
25
- ```
26
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
+ ```
27
30
  ## Example
28
31
 
29
32
  ```text
30
- knife ionoscloud group list --user-id USER_ID --username USERNAME --password PASSWORD
33
+ knife ionoscloud group list --user-id USER_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
31
34
  ```
32
-
@@ -23,11 +23,13 @@ knife ionoscloud group user add USER_ID [USER_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 group user add USER_ID
32
35
  ```
33
-
@@ -23,11 +23,13 @@ knife ionoscloud group user remove USER_ID [USER_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 group user remove USER_ID
32
35
  ```
33
-
@@ -19,11 +19,13 @@ knife ionoscloud image list
19
19
 
20
20
  ionoscloud_password: --password PASSWORD, -p PASSWORD
21
21
  your Ionoscloud password (required)
22
- ```
23
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
+ ```
24
27
  ## Example
25
28
 
26
29
  ```text
27
- knife ionoscloud image list--username USERNAME --password PASSWORD
30
+ knife ionoscloud image list--username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
28
31
  ```
29
-
@@ -30,11 +30,13 @@ knife ionoscloud ipblock create (options)
30
30
 
31
31
  ionoscloud_password: --password PASSWORD, -p PASSWORD
32
32
  your Ionoscloud password (required)
33
- ```
34
33
 
34
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
35
+ path to the additional config file
36
+
37
+ ```
35
38
  ## Example
36
39
 
37
40
  ```text
38
- knife ionoscloud ipblock create --location LOCATION --size INT --name NAME --username USERNAME --password PASSWORD
41
+ knife ionoscloud ipblock create --location LOCATION --size INT --name NAME --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
39
42
  ```
40
-
@@ -19,11 +19,13 @@ knife ionoscloud ipblock delete IPBLOCK_ID [IPBLOCK_ID]
19
19
 
20
20
  ionoscloud_password: --password PASSWORD, -p PASSWORD
21
21
  your Ionoscloud password (required)
22
- ```
23
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
+ ```
24
27
  ## Example
25
28
 
26
29
  ```text
27
- knife ionoscloud ipblock delete IPBLOCK_ID [IPBLOCK_ID]--username USERNAME --password PASSWORD
30
+ knife ionoscloud ipblock delete IPBLOCK_ID [IPBLOCK_ID]--username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
28
31
  ```
29
-
@@ -19,11 +19,13 @@ knife ionoscloud ipblock list
19
19
 
20
20
  ionoscloud_password: --password PASSWORD, -p PASSWORD
21
21
  your Ionoscloud password (required)
22
- ```
23
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
+ ```
24
27
  ## Example
25
28
 
26
29
  ```text
27
- knife ionoscloud ipblock list--username USERNAME --password PASSWORD
30
+ knife ionoscloud ipblock list--username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
28
31
  ```
29
-
@@ -1,11 +1,11 @@
1
1
  # IpfailoverAdd
2
2
 
3
3
  Successfully setting up an IP Failover group requires three steps:
4
-
5
4
  * Add a reserved IP address to a NIC that will become the IP Failover master.
6
5
  * Use PATCH or PUT to enable ipFailover by providing the relevant ip and nicUuid values.
7
6
  * Add the same reserved IP address to any other NICs that are a member of the same LAN. Those NICs will become IP Failover members.
8
7
 
8
+
9
9
  ```text
10
10
  knife ionoscloud ipfailover add (options)
11
11
  ```
@@ -39,11 +39,13 @@ knife ionoscloud ipfailover add (options)
39
39
 
40
40
  ionoscloud_password: --password PASSWORD, -p PASSWORD
41
41
  your Ionoscloud password (required)
42
- ```
43
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
+ ```
44
47
  ## Example
45
48
 
46
49
  ```text
47
- knife ionoscloud ipfailover add --datacenter-id DATACENTER_ID --lan-id LAN_ID --ip IP --nic-id NIC_ID --username USERNAME --password PASSWORD
50
+ knife ionoscloud ipfailover add --datacenter-id DATACENTER_ID --lan-id LAN_ID --ip IP --nic-id NIC_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
48
51
  ```
49
-
@@ -35,11 +35,13 @@ knife ionoscloud ipfailover remove (options)
35
35
 
36
36
  ionoscloud_password: --password PASSWORD, -p PASSWORD
37
37
  your Ionoscloud password (required)
38
- ```
39
38
 
39
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
40
+ path to the additional config file
41
+
42
+ ```
40
43
  ## Example
41
44
 
42
45
  ```text
43
- knife ionoscloud ipfailover remove --datacenter-id DATACENTER_ID --lan-id LAN_ID --ip IP --nic-id NIC_ID --username USERNAME --password PASSWORD
46
+ knife ionoscloud ipfailover remove --datacenter-id DATACENTER_ID --lan-id LAN_ID --ip IP --nic-id NIC_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
44
47
  ```
45
-
@@ -21,6 +21,12 @@ knife ionoscloud k8s create (options)
21
21
  version: --version VERSION, -v VERSION
22
22
  the version for the Kubernetes cluster.
23
23
 
24
+ private: --private
25
+ the indicator if the cluster is public or private. Be aware that setting it to false is currently in beta phase.
26
+
27
+ gateway_ip: --gateway GATEWAY_IP
28
+ the IP address of the gateway used by the cluster. This is mandatory when `public` is set to `false` and should not be provided otherwise.
29
+
24
30
  maintenance_day: --maintenance-day MAINTENANCE_DAY, -d MAINTENANCE_DAY
25
31
  day Of the week when to perform the maintenance.
26
32
 
@@ -32,11 +38,13 @@ knife ionoscloud k8s create (options)
32
38
 
33
39
  ionoscloud_password: --password PASSWORD, -p PASSWORD
34
40
  your Ionoscloud password (required)
35
- ```
36
41
 
42
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
43
+ path to the additional config file
44
+
45
+ ```
37
46
  ## Example
38
47
 
39
48
  ```text
40
- knife ionoscloud k8s create --name NAME --version VERSION --maintenance-day MAINTENANCE_DAY --maintenance-time MAINTENANCE_TIME --username USERNAME --password PASSWORD
49
+ knife ionoscloud k8s create --name NAME --version VERSION --private --gateway GATEWAY_IP --maintenance-day MAINTENANCE_DAY --maintenance-time MAINTENANCE_TIME --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
41
50
  ```
42
-