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,35 @@
1
+ # NatgatewayList
2
+
3
+ Lists all available NAT Gateways under a data center.
4
+
5
+ ```text
6
+ knife ionoscloud natgateway list (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
+ the 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 natgateway list --datacenter-id DATACENTER_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
35
+ ```
@@ -0,0 +1,66 @@
1
+ # NatgatewayRuleAdd
2
+
3
+ Adds a LAN to a Nat Gateway under a data center.
4
+
5
+ ```text
6
+ knife ionoscloud natgateway rule add (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * natgateway\_id
15
+ * name
16
+ * source\_subnet
17
+ * public\_ip
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
+ natgateway_id: --natgateway-id NATGATEWAY_ID, -G NATGATEWAY_ID
26
+ iD of the NAT Gateway (required)
27
+
28
+ name: --name NAME, -n NAME
29
+ name of the NAT gateway rule (required)
30
+
31
+ type: --type TYPE, -t TYPE
32
+ type of the NAT gateway rule
33
+
34
+ protocol: --protocol PROTOCOL, -p PROTOCOL
35
+ protocol of the NAT gateway rule. Defaults to ALL. If protocol is 'ICMP' then target_port_range start and end cannot be set.
36
+
37
+ source_subnet: --source SOURCE_SUBNET
38
+ source subnet of the NAT gateway rule. For SNAT rules it specifies which packets this translation rule applies to based on the packets source IP address. (required)
39
+
40
+ public_ip: --ip PUBLIC_IP, -i PUBLIC_IP
41
+ public IP address of the NAT gateway rule. Specifies the address used for masking outgoing packets source address field. Should be one of the customer reserved IP address already configured on the NAT gateway resource (required)
42
+
43
+ target_subnet: --target TARGET_SUBNET
44
+ target or destination subnet of the NAT gateway rule. For SNAT rules it specifies which packets this translation rule applies to based on the packets destination IP address. If none is provided, rule will match any address
45
+
46
+ target_port_range_start: --port-start PORT_RANGE_START
47
+ target port range start associated with the NAT gateway rule
48
+
49
+ target_port_range_end: --port-end PORT_RANGE_START
50
+ target port range end associated with the NAT gateway rule
51
+
52
+ ionoscloud_username: --username USERNAME, -u USERNAME
53
+ your Ionoscloud username (required)
54
+
55
+ ionoscloud_password: --password PASSWORD, -p PASSWORD
56
+ your Ionoscloud password (required)
57
+
58
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
59
+ path to the additional config file
60
+
61
+ ```
62
+ ## Example
63
+
64
+ ```text
65
+ knife ionoscloud natgateway rule add --datacenter-id DATACENTER_ID --natgateway-id NATGATEWAY_ID --name NAME --type TYPE --protocol PROTOCOL --source SOURCE_SUBNET --ip PUBLIC_IP --target TARGET_SUBNET --port-start PORT_RANGE_START --port-end PORT_RANGE_START --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
66
+ ```
@@ -0,0 +1,38 @@
1
+ # NatgatewayRuleList
2
+
3
+ Lists all available rules in a NAT Gateways under a data center.
4
+
5
+ ```text
6
+ knife ionoscloud natgateway rule list (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
+ the ID of the data center (required)
20
+
21
+ natgateway_id: --natgateway-id NATGATEWAY_ID, -G NATGATEWAY_ID
22
+ iD of the NAT Gateway
23
+
24
+ ionoscloud_username: --username USERNAME, -u USERNAME
25
+ your Ionoscloud username (required)
26
+
27
+ ionoscloud_password: --password PASSWORD, -p PASSWORD
28
+ your Ionoscloud password (required)
29
+
30
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
31
+ path to the additional config file
32
+
33
+ ```
34
+ ## Example
35
+
36
+ ```text
37
+ knife ionoscloud natgateway rule list --datacenter-id DATACENTER_ID --natgateway-id NATGATEWAY_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
38
+ ```
@@ -0,0 +1,39 @@
1
+ # NatgatewayRuleRemove
2
+
3
+ Removes the specified rules from a Nat Gateway under a data center.
4
+
5
+ ```text
6
+ knife ionoscloud natgateway rule remove RULE_ID [RULE_ID] (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * natgateway\_id
15
+ * ionoscloud\_username
16
+ * ionoscloud\_password
17
+
18
+ ```text
19
+ datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
20
+ name of the data center (required)
21
+
22
+ natgateway_id: --natgateway-id NATGATEWAY_ID, -G NATGATEWAY_ID
23
+ iD of the NAT Gateway (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 natgateway rule remove RULE_ID
39
+ ```
@@ -0,0 +1,54 @@
1
+ # NetworkloadbalancerCreate
2
+
3
+ Creates an Network Load Balancer within the datacenter.
4
+
5
+ ```text
6
+ knife ionoscloud networkloadbalancer create (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * name
15
+ * listener\_lan
16
+ * target\_lan
17
+ * ips
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
+ name: --name NAME, -n NAME
26
+ name of the load balancer (required)
27
+
28
+ listener_lan: --listener-lan LISTENER_LAN_ID, -l LISTENER_LAN_ID
29
+ id of the listening LAN. (inbound) (required)
30
+
31
+ target_lan: --target-lan TARGET_LAN_ID, -t TARGET_LAN_ID
32
+ id of the balanced private target LAN. (outbound) (required)
33
+
34
+ ips: --ips IP[,IP,...], -i IP[,IP,...]
35
+ collection of IP addresses of the Network Load Balancer. (inbound and outbound) IP of the listenerLan must be a customer reserved IP for the public load balancer and private IP for the private load balancer. (required)
36
+
37
+ lb_private_ips: --private-ips IP[,IP,...]
38
+ collection of private IP addresses with subnet mask of the Network Load Balancer. IPs must contain valid subnet mask. If user will not provide any IP then the system will generate one IP with /24 subnet.
39
+
40
+ ionoscloud_username: --username USERNAME, -u USERNAME
41
+ your Ionoscloud username (required)
42
+
43
+ ionoscloud_password: --password PASSWORD, -p PASSWORD
44
+ your Ionoscloud password (required)
45
+
46
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
47
+ path to the additional config file
48
+
49
+ ```
50
+ ## Example
51
+
52
+ ```text
53
+ knife ionoscloud networkloadbalancer create --datacenter-id DATACENTER_ID --name NAME --listener-lan LISTENER_LAN_ID --target-lan TARGET_LAN_ID --ips IP[,IP,...] --private-ips IP[,IP,...] --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
54
+ ```
@@ -0,0 +1,35 @@
1
+ # NetworkloadbalancerDelete
2
+
3
+ Removes the specified Network Load Balancer.
4
+
5
+ ```text
6
+ knife ionoscloud networkloadbalancer delete LOAD_BALANCER_ID [LOAD_BALANCER_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
+ name 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 networkloadbalancer delete LOAD_BALANCER_ID
35
+ ```
@@ -0,0 +1,35 @@
1
+ # NetworkloadbalancerList
2
+
3
+ Retrieve a list of Network Load Balancers within the datacenter.
4
+
5
+ ```text
6
+ knife ionoscloud networkloadbalancer list (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
+ name 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 networkloadbalancer list --datacenter-id DATACENTER_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
35
+ ```
@@ -0,0 +1,72 @@
1
+ # NetworkloadbalancerRuleAdd
2
+
3
+ Adds a Forwarding Rule to a Network Load Balancer under a data center.
4
+
5
+ ```text
6
+ knife ionoscloud networkloadbalancer rule add (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * network\_loadbalancer\_id
15
+ * name
16
+ * listener\_ip
17
+ * listener\_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
+ name: --name NAME, -n NAME
29
+ a name of that Network Load Balancer forwarding rule (required)
30
+
31
+ algorithm: --algorithm ALGORITHM, -a ALGORITHM
32
+ algorithm for the balancing
33
+
34
+ protocol: --protocol PROTOCOL
35
+ protocol of the balancing
36
+
37
+ listener_ip: --ip LISTENER_IP, -i LISTENER_IP
38
+ listening IP. (inbound) (required)
39
+
40
+ listener_port: --port LISTENER_PORT, -p LISTENER_PORT
41
+ listening port number. (inbound) (range: 1 to 65535) (required)
42
+
43
+ client_timeout: --client-timeout CLIENT_TIMEOUT
44
+ clientTimeout is expressed in milliseconds. This inactivity timeout applies when the client is expected to acknowledge or send data. If unset the default of 50 seconds will be used.
45
+
46
+ check_timeout: --check-timeout CLIENT_TIMEOUT
47
+ it specifies the time (in milliseconds) for a target VM in this pool to answer the check. If a target VM has CheckInterval set and CheckTimeout is set too, then the smaller value of the two is used after the TCP connection is established.
48
+
49
+ connect_timeout: --connect-timeout CONNECT_TIMEOUT
50
+ it specifies the maximum time (in milliseconds) to wait for a connection attempt to a target VM to succeed. If unset, the default of 5 seconds will be used.
51
+
52
+ target_timeout: --terget-timeout TARGET_TIMEOUT
53
+ targetTimeout specifies the maximum inactivity time (in milliseconds) on the target VM side. If unset, the default of 50 seconds will be used.
54
+
55
+ retries: --retries RETRIES, -r RETRIES
56
+ retries specifies the number of retries to perform on a target VM after a connection failure. If unset, the default value of 3 will be used. (valid range: [0, 65535])
57
+
58
+ ionoscloud_username: --username USERNAME, -u USERNAME
59
+ your Ionoscloud username (required)
60
+
61
+ ionoscloud_password: --password PASSWORD, -p PASSWORD
62
+ your Ionoscloud password (required)
63
+
64
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
65
+ path to the additional config file
66
+
67
+ ```
68
+ ## Example
69
+
70
+ ```text
71
+ knife ionoscloud networkloadbalancer rule add --datacenter-id DATACENTER_ID --network-loadbalancer NETWORK_LOADBALANCER_ID --name NAME --algorithm ALGORITHM --protocol PROTOCOL --ip LISTENER_IP --port LISTENER_PORT --client-timeout CLIENT_TIMEOUT --check-timeout CLIENT_TIMEOUT --connect-timeout CONNECT_TIMEOUT --terget-timeout TARGET_TIMEOUT --retries RETRIES --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
72
+ ```
@@ -0,0 +1,39 @@
1
+ # NetworkloadbalancerRuleList
2
+
3
+ Lists all available rules in a Network Loadbalancer under a data center.
4
+
5
+ ```text
6
+ knife ionoscloud networkloadbalancer rule list (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * network\_loadbalancer\_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 data center (required)
21
+
22
+ network_loadbalancer_id: --network-loadbalancer NETWORK_LOADBALANCER_ID, -L NETWORK_LOADBALANCER_ID
23
+ iD of the Network Loadbalancer (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 networkloadbalancer rule list --datacenter-id DATACENTER_ID --network-loadbalancer NETWORK_LOADBALANCER_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
39
+ ```
@@ -0,0 +1,39 @@
1
+ # NetworkloadbalancerRuleRemove
2
+
3
+ Removes the specified rules from a Network Loadbalancer under a data center.
4
+
5
+ ```text
6
+ knife ionoscloud networkloadbalancer rule remove RULE_ID [RULE_ID] (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * network\_loadbalancer\_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 data center (required)
21
+
22
+ network_loadbalancer_id: --network-loadbalancer NETWORK_LOADBALANCER_ID, -L NETWORK_LOADBALANCER_ID
23
+ iD of the Network Loadbalancer (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 networkloadbalancer rule remove RULE_ID
39
+ ```