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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c6f600f5f7cde46e790731b30ffd8180db5d375c4d6fd1b9b10647ee77bade25
4
- data.tar.gz: 62d7fea589b66d308cee20a9849246fb31a983b6c919f91f910c2d718bf79652
3
+ metadata.gz: 466c2927e32f6d584559a80aee7a32f1a39834e02abd5fe0a10be5aad04f5a7f
4
+ data.tar.gz: 8d9ca6b4e1cded2da076149c2527d94b4e593db2de09f78681f510f6d855166c
5
5
  SHA512:
6
- metadata.gz: f76084ab2fc1e1ef87e597a353442f91f7fe7ff3937b0bad75c26891aafb715f4f4260bbb383a718e335e28bc1009d97d1d470a1c27fb0ad95431ed0ecbb13ca
7
- data.tar.gz: d23d88f3b5fcbb650cc6fdbe02c60c74451e67e990eb2652de9b6b4056e57d55c4fc9c9cc78265b2e50099bfe3a546ea335d6f4e29f00b8144f4a874f84409c2
6
+ metadata.gz: 57c94f8bd0a2098253ae4be624bb329f626989ca75f06447f123da416f4e40f37d5d2991e949616401af08a747e1c757b4bb52e52eec989d63edf6870bdd724f
7
+ data.tar.gz: 39602ed7873d6f61d162f500ba30f151c6a70e1ed9ec4a9c056dbb5fe41f9c048f653daaa3b7662defd1c38df53b01512e8c9cbd615ab723609357279e3abc62
@@ -11,10 +11,10 @@ on:
11
11
 
12
12
  jobs:
13
13
  test:
14
- env:
15
- ruby-version: 2.7
16
-
17
14
  runs-on: ubuntu-latest
15
+ strategy:
16
+ matrix:
17
+ ruby-version: [ 2.6, 2.7, 3.0 ]
18
18
 
19
19
  steps:
20
20
  - name: Checkout
@@ -23,7 +23,7 @@ jobs:
23
23
  - name: Setup Ruby
24
24
  uses: ruby/setup-ruby@v1.61.1
25
25
  with:
26
- ruby-version: ${{ env.ruby-version }}
26
+ ruby-version: ${{ matrix.ruby-version }}
27
27
 
28
28
  - name: Install Rubocop
29
29
  run: gem install rubocop
@@ -46,9 +46,12 @@ jobs:
46
46
  id: old_version
47
47
  run: echo ::set-output name=VERSION::$(git tag --list "v*" --sort=version:refname | tail -n 2 | head -n 1)
48
48
 
49
+ - name: Get the release version
50
+ run: echo "RELEASE_VERSION=${GITHUB_REF:10}" >> $GITHUB_ENV
51
+
49
52
  - name: Check Version
50
53
  run: |
51
- if [ "${{ steps.new_version.outputs.VERSION }}" != v$(cat lib/knife-ionoscloud/version.rb | grep 'VERSION =' | tr -s ' ' | cut -d ' ' -f 4 | sed 's/^.//;s/.$//') ]; then
54
+ if [ $RELEASE_VERSION != v$(cat lib/knife-ionoscloud/version.rb | grep 'VERSION =' | tr -s ' ' | cut -d ' ' -f 4 | sed 's/^.//;s/.$//') ]; then
52
55
  echo "Tag version does not match the one from version.rb!"
53
56
  exit 1
54
57
  fi
data/.rubocop.yml CHANGED
@@ -1,7 +1,6 @@
1
1
  # This file is based on https://github.com/rails/rails/blob/master/.rubocop.yml (MIT license)
2
2
  # Automatically generated by OpenAPI Generator (https://openapi-generator.tech)
3
3
  AllCops:
4
- TargetRubyVersion: 2.4
5
4
  # RuboCop has a bunch of cops enabled by default. This setting tells RuboCop
6
5
  # to ignore them, so only the ones explicitly set in this file are enabled.
7
6
  DisabledByDefault: true
data/docs/README.md CHANGED
@@ -67,6 +67,26 @@ $ export IONOSCLOUD_PASSWORD='password'
67
67
  $ rspec spec
68
68
  ```
69
69
 
70
+ ### Getting input from a file
71
+
72
+ In order to make passing JSON or array arguments easier, we allow you to specify a file which holds the arguments for a command. This is done with the
73
+ `--extra-config EXTRA_CONFIG_FILE_PATH` or `-e EXTRA_CONFIG_FILE_PATH`. The file is expected to contain a JSON which should map the name of arguments to their expected values. Here is an example of such a file.
74
+
75
+ ```json
76
+ {
77
+ "ionoscloud_username": "username",
78
+ "ionoscloud_password": "password",
79
+ "name": "test_datacenter_name",
80
+ "location": "de/txl"
81
+ }
82
+ ```
83
+
84
+ When using the command `knife ionoscloud datacenter create --extra-config EXTRA_CONFIG_FILE_PATH` where EXTRA_CONFIG_FILE_PATH is the name of the file containing the JSON above, the arguments described in the file will be used.
85
+
86
+ * If any of the arguments are set in any other way, the values from the file will be ignored. Running the command `knife ionoscloud datacenter create --location us/las --extra-config EXTRA_CONFIG_FILE_PATH` will create a datacenter in the 'us/las' location. In the same way if the values for ionoscloud_username and ionoscloud_password are already set in the knife.rb file, the contents from the JSON will be ignored.
87
+ * Only Ionoscloud specific options may be altered using this option.
88
+ * If an option is ignored because it is not on the available options list or if it is overwritten in another way then a warning message will be displayed.
89
+
70
90
  ## Feature Reference
71
91
 
72
92
  The IONOS Cloud plugin for Knife aims to offer access to all resources in the IONOS Cloud API and also offers some additional features that make the integration easier:
@@ -49,7 +49,7 @@ def generate_subcommand_doc(subcommand)
49
49
  value[:required] = subcommand.required_options.include? key
50
50
  value[:description][0] = value[:description][0].downcase
51
51
  value
52
- }.rotate(2)
52
+ }.rotate(3)
53
53
 
54
54
  subcommand_name = subcommand.class.to_s
55
55
  subcommand_name.slice!('Chef::Knife::Ionoscloud')
@@ -69,7 +69,7 @@ def generate_subcommand_doc(subcommand)
69
69
  options,
70
70
  description,
71
71
  subcommand_name,
72
- subcommand.required_options,
72
+ subcommand.required_options.map { |el| el.to_s.gsub '_', '\_' },
73
73
  ).render,
74
74
  )
75
75
  }
@@ -31,11 +31,13 @@ knife ionoscloud backupunit create (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 backupunit create --name NAME --password PASSWORD --email EMAIL --username USERNAME --password PASSWORD
42
+ knife ionoscloud backupunit create --name NAME --password PASSWORD --email EMAIL --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
40
43
  ```
41
-
@@ -19,11 +19,13 @@ knife ionoscloud backupunit delete BACKUPUNIT_ID [BACKUPUNIT_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 backupunit delete BACKUPUNIT_ID [BACKUPUNIT_ID]--username USERNAME --password PASSWORD
30
+ knife ionoscloud backupunit delete BACKUPUNIT_ID [BACKUPUNIT_ID]--username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
28
31
  ```
29
-
@@ -19,11 +19,13 @@ knife ionoscloud backupunit 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 backupunit list--username USERNAME --password PASSWORD
30
+ knife ionoscloud backupunit list--username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
28
31
  ```
29
-
@@ -23,11 +23,13 @@ knife ionoscloud backupunit ssourl (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 backupunit ssourl --backupunit-id BACKUPUNIT_ID --username USERNAME --password PASSWORD
34
+ knife ionoscloud backupunit ssourl --backupunit-id BACKUPUNIT_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
32
35
  ```
33
-
@@ -70,6 +70,12 @@ knife ionoscloud composite server create (options)
70
70
  ssh_keys: --ssh-keys SSHKEY1,SSHKEY2,..., -K SSHKEY[,SSHKEY,...]
71
71
  a list of public SSH keys to include
72
72
 
73
+ backupunit_id: --backupunit BACKUPUNIT_ID, -B BACKUPUNIT_ID
74
+ the uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
75
+
76
+ user_data: --user-data USER_DATA, -u USER_DATA
77
+ the cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
78
+
73
79
  nic_name: --nic-name NAME
74
80
  name of the NIC
75
81
 
@@ -82,19 +88,21 @@ knife ionoscloud composite server create (options)
82
88
  lan: --lan ID, -L ID
83
89
  the LAN ID the NIC will reside on; if the LAN ID does not exist it will be created (required)
84
90
 
85
- nat: --nat
86
- set to enable NAT on the NIC
91
+ firewall_type: --firewall-type FIREWALL_TYPE
92
+ the type of firewall rules that will be allowed on the NIC. If it is not specified it will take the default value INGRESS
87
93
 
88
94
  ionoscloud_username: --username USERNAME, -u USERNAME
89
95
  your Ionoscloud username (required)
90
96
 
91
97
  ionoscloud_password: --password PASSWORD, -p PASSWORD
92
98
  your Ionoscloud password (required)
93
- ```
94
99
 
100
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
101
+ path to the additional config file
102
+
103
+ ```
95
104
  ## Example
96
105
 
97
106
  ```text
98
- knife ionoscloud composite server create --datacenter-id DATACENTER_ID --name NAME --cores CORES --cpu-family CPU_FAMILY --ram RAM --availability-zone AVAILABILITY_ZONE --volume-name NAME --size SIZE --bus BUS --image ID --image-alias IMAGE_ALIAS --type TYPE --licence-type LICENCE --image-password PASSWORD --volume-availability-zone AVAILABILITY_ZONE --ssh-keys SSHKEY1,SSHKEY2,... --nic-name NAME --ips IP[,IP,...] --dhcp --lan ID --nat --username USERNAME --password PASSWORD
107
+ knife ionoscloud composite server create --datacenter-id DATACENTER_ID --name NAME --cores CORES --cpu-family CPU_FAMILY --ram RAM --availability-zone AVAILABILITY_ZONE --volume-name NAME --size SIZE --bus BUS --image ID --image-alias IMAGE_ALIAS --type TYPE --licence-type LICENCE --image-password PASSWORD --volume-availability-zone AVAILABILITY_ZONE --ssh-keys SSHKEY1,SSHKEY2,... --backupunit BACKUPUNIT_ID --user-data USER_DATA --nic-name NAME --ips IP[,IP,...] --dhcp --lan ID --firewall-type FIREWALL_TYPE --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
99
108
  ```
100
-
@@ -19,11 +19,13 @@ knife ionoscloud contract 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 contract list--username USERNAME --password PASSWORD
30
+ knife ionoscloud contract list--username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
28
31
  ```
29
-
@@ -0,0 +1,91 @@
1
+ # CubeServerCreate
2
+
3
+ This creates a new cube server with an attached volume and NIC in a specified virtual data center.
4
+
5
+ ```text
6
+ knife ionoscloud cube server create (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * name
15
+ * template
16
+ * ionoscloud\_username
17
+ * ionoscloud\_password
18
+
19
+ ```text
20
+ datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
21
+ name of the virtual datacenter (required)
22
+
23
+ name: --name NAME, -n NAME
24
+ (required) Name of the server (required)
25
+
26
+ template: --template TEMPLATE_UUID
27
+ the UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource (required)
28
+
29
+ cpu_family: --cpu-family CPU_FAMILY, -f CPU_FAMILY
30
+ the family of processor cores (INTEL_XEON or AMD_OPTERON)
31
+
32
+ availability_zone: --availability-zone AVAILABILITY_ZONE, -a AVAILABILITY_ZONE
33
+ the availability zone of the server
34
+
35
+ volume_name: --volume-name NAME
36
+ name of the volume
37
+
38
+ bus: --bus BUS, -b BUS
39
+ the bus type of the volume (VIRTIO or IDE)
40
+
41
+ image: --image ID, -N ID
42
+ (required) The image or snapshot ID
43
+
44
+ licence_type: --licence-type LICENCE, -l LICENCE
45
+ the licence type of the volume (LINUX, WINDOWS, WINDOWS2016, UNKNOWN, OTHER)
46
+
47
+ image_password: --image-password PASSWORD, -P PASSWORD
48
+ the password set on the image for the "root" or "Administrator" user
49
+
50
+ ssh_keys: --ssh-keys SSHKEY1,SSHKEY2,..., -K SSHKEY[,SSHKEY,...]
51
+ a list of public SSH keys to include
52
+
53
+ backupunit_id: --backupunit BACKUPUNIT_ID, -B BACKUPUNIT_ID
54
+ the uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
55
+
56
+ user_data: --user-data USER_DATA, -u USER_DATA
57
+ the cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
58
+
59
+ set_boot: --set-boot
60
+ whether to set the volume as the boot volume
61
+
62
+ nic_name: --nic-name NAME
63
+ name of the NIC
64
+
65
+ ips: --ips IP[,IP,...], -i IP[,IP,...]
66
+ iPs assigned to the NIC
67
+
68
+ dhcp: --dhcp, -h
69
+ set to false if you wish to disable DHCP
70
+
71
+ lan: --lan ID, -L ID
72
+ the LAN ID the NIC will reside on; if the LAN ID does not exist it will be created
73
+
74
+ firewall_type: --firewall-type FIREWALL_TYPE, -t FIREWALL_TYPE
75
+ the type of firewall rules that will be allowed on the NIC. If it is not specified it will take the default value INGRESS
76
+
77
+ ionoscloud_username: --username USERNAME, -u USERNAME
78
+ your Ionoscloud username (required)
79
+
80
+ ionoscloud_password: --password PASSWORD, -p PASSWORD
81
+ your Ionoscloud password (required)
82
+
83
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
84
+ path to the additional config file
85
+
86
+ ```
87
+ ## Example
88
+
89
+ ```text
90
+ knife ionoscloud cube server create --datacenter-id DATACENTER_ID --name NAME --template TEMPLATE_UUID --cpu-family CPU_FAMILY --availability-zone AVAILABILITY_ZONE --volume-name NAME --bus BUS --image ID --licence-type LICENCE --image-password PASSWORD --ssh-keys SSHKEY1,SSHKEY2,... --backupunit BACKUPUNIT_ID --user-data USER_DATA --set-boot --nic-name NAME --ips IP[,IP,...] --dhcp --lan ID --firewall-type FIREWALL_TYPE --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
91
+ ```
@@ -2,12 +2,13 @@
2
2
 
3
3
  Unless you are planning to manage an existing Ionoscloud environment, the first step will typically involve choosing the location for a new virtual data centerA list of locations can be obtained with location command.
4
4
 
5
- ```text
5
+ ```text
6
6
  knife ionoscloud location list
7
7
  ```
8
8
 
9
9
  Make a note of the desired location ID and now the data center can be created.
10
10
 
11
+
11
12
  ```text
12
13
  knife ionoscloud datacenter create (options)
13
14
  ```
@@ -35,11 +36,13 @@ knife ionoscloud datacenter create (options)
35
36
 
36
37
  ionoscloud_password: --password PASSWORD, -p PASSWORD
37
38
  your Ionoscloud password (required)
38
- ```
39
39
 
40
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
41
+ path to the additional config file
42
+
43
+ ```
40
44
  ## Example
41
45
 
42
46
  ```text
43
- knife ionoscloud datacenter create --name NAME --description DESCRIPTION --location LOCATION --username USERNAME --password PASSWORD
47
+ knife ionoscloud datacenter create --name NAME --description DESCRIPTION --location LOCATION --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
44
48
  ```
45
-
@@ -19,11 +19,13 @@ knife ionoscloud datacenter delete DATACENTER_ID [DATACENTER_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 datacenter delete DATACENTER_ID [DATACENTER_ID]--username USERNAME --password PASSWORD
30
+ knife ionoscloud datacenter delete DATACENTER_ID [DATACENTER_ID]--username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
28
31
  ```
29
-
@@ -19,11 +19,13 @@ knife ionoscloud datacenter 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 datacenter list--username USERNAME --password PASSWORD
30
+ knife ionoscloud datacenter list--username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
28
31
  ```
29
-
@@ -44,7 +44,7 @@ knife ionoscloud firewall create (options)
44
44
  port_range_start: --port-range-start PORT, -p PORT
45
45
  defines the start range of the allowed port(s)
46
46
 
47
- port_range_end: --port-range-end PORT, -t PORT
47
+ port_range_end: --port-range-end PORT
48
48
  defines the end range of the allowed port(s)
49
49
 
50
50
  icmp_type: --icmp-type INT
@@ -53,16 +53,21 @@ knife ionoscloud firewall create (options)
53
53
  icmp_code: --icmp-code INT
54
54
  defines the allowed code (from 0 to 254) if the protocol ICMP is chosen; null allows all codes
55
55
 
56
+ type: --type TYPE, --t TYPE
57
+ the type of firewall rule. If is not specified, it will take the default value INGRESS
58
+
56
59
  ionoscloud_username: --username USERNAME, -u USERNAME
57
60
  your Ionoscloud username (required)
58
61
 
59
62
  ionoscloud_password: --password PASSWORD, -p PASSWORD
60
63
  your Ionoscloud password (required)
61
- ```
62
64
 
65
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
66
+ path to the additional config file
67
+
68
+ ```
63
69
  ## Example
64
70
 
65
71
  ```text
66
- knife ionoscloud firewall create --datacenter-id DATACENTER_ID --server-id SERVER_ID --nic-id NIC_ID --name NAME --protocol PROTOCOL --source-mac MAC --source-ip IP --target-ip IP --port-range-start PORT --port-range-end PORT --icmp-type INT --icmp-code INT --username USERNAME --password PASSWORD
72
+ knife ionoscloud firewall create --datacenter-id DATACENTER_ID --server-id SERVER_ID --nic-id NIC_ID --name NAME --protocol PROTOCOL --source-mac MAC --source-ip IP --target-ip IP --port-range-start PORT --port-range-end PORT --icmp-type INT --icmp-code INT --type TYPE --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
67
73
  ```
68
-
@@ -31,11 +31,13 @@ knife ionoscloud firewall delete FIREWALL_ID [FIREWALL_ID] (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
42
  knife ionoscloud firewall delete FIREWALL_ID
40
43
  ```
41
-