knife-ionoscloud 5.1.1 → 6.0.0.beta.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (326) hide show
  1. checksums.yaml +4 -4
  2. data/docs/README.md +1 -1
  3. data/docs/subcommands/composite_server_create.md +9 -3
  4. data/docs/subcommands/cube_server_create.md +91 -0
  5. data/docs/subcommands/firewall_create.md +5 -2
  6. data/docs/subcommands/flowlog_create.md +63 -0
  7. data/docs/subcommands/flowlog_delete.md +51 -0
  8. data/docs/subcommands/flowlog_list.md +51 -0
  9. data/docs/subcommands/group_create.md +10 -1
  10. data/docs/subcommands/natgateway_create.md +41 -0
  11. data/docs/subcommands/natgateway_delete.md +35 -0
  12. data/docs/subcommands/natgateway_lan_add.md +46 -0
  13. data/docs/subcommands/natgateway_lan_remove.md +39 -0
  14. data/docs/subcommands/natgateway_list.md +35 -0
  15. data/docs/subcommands/natgateway_rule_add.md +66 -0
  16. data/docs/subcommands/natgateway_rule_list.md +38 -0
  17. data/docs/subcommands/natgateway_rule_remove.md +39 -0
  18. data/docs/subcommands/networkloadbalancer_create.md +54 -0
  19. data/docs/subcommands/networkloadbalancer_delete.md +35 -0
  20. data/docs/subcommands/networkloadbalancer_list.md +35 -0
  21. data/docs/subcommands/networkloadbalancer_rule_add.md +72 -0
  22. data/docs/subcommands/networkloadbalancer_rule_list.md +39 -0
  23. data/docs/subcommands/networkloadbalancer_rule_remove.md +39 -0
  24. data/docs/subcommands/networkloadbalancer_rule_target_add.md +64 -0
  25. data/docs/subcommands/networkloadbalancer_rule_target_list.md +43 -0
  26. data/docs/subcommands/networkloadbalancer_rule_target_remove.md +51 -0
  27. data/docs/subcommands/nic_create.md +3 -3
  28. data/docs/subcommands/nodepool_lan_add.md +49 -0
  29. data/docs/subcommands/nodepool_lan_remove.md +39 -0
  30. data/docs/subcommands/server_console.md +39 -0
  31. data/docs/subcommands/server_list.md +4 -1
  32. data/docs/subcommands/server_resume.md +35 -0
  33. data/docs/subcommands/server_suspend.md +35 -0
  34. data/docs/subcommands/server_token.md +39 -0
  35. data/docs/subcommands/server_upgrade.md +39 -0
  36. data/docs/subcommands/template_list.md +31 -0
  37. data/docs/subcommands/volume_create.md +2 -5
  38. data/docs/summary.md +29 -0
  39. data/knife-ionoscloud.gemspec +1 -1
  40. data/lib/chef/knife/ionoscloud_backupunit_create.rb +12 -16
  41. data/lib/chef/knife/ionoscloud_backupunit_delete.rb +2 -5
  42. data/lib/chef/knife/ionoscloud_backupunit_get.rb +33 -0
  43. data/lib/chef/knife/ionoscloud_backupunit_list.rb +1 -1
  44. data/lib/chef/knife/ionoscloud_backupunit_ssourl.rb +1 -1
  45. data/lib/chef/knife/ionoscloud_backupunit_update.rb +62 -0
  46. data/lib/chef/knife/ionoscloud_base.rb +309 -1
  47. data/lib/chef/knife/ionoscloud_composite_server_create.rb +23 -5
  48. data/lib/chef/knife/ionoscloud_contract_list.rb +32 -23
  49. data/lib/chef/knife/ionoscloud_cube_server_create.rb +212 -0
  50. data/lib/chef/knife/ionoscloud_datacenter_create.rb +11 -14
  51. data/lib/chef/knife/ionoscloud_datacenter_delete.rb +2 -7
  52. data/lib/chef/knife/ionoscloud_datacenter_get.rb +33 -0
  53. data/lib/chef/knife/ionoscloud_datacenter_list.rb +4 -2
  54. data/lib/chef/knife/ionoscloud_datacenter_update.rb +67 -0
  55. data/lib/chef/knife/ionoscloud_firewall_create.rb +16 -21
  56. data/lib/chef/knife/ionoscloud_firewall_delete.rb +5 -13
  57. data/lib/chef/knife/ionoscloud_firewall_get.rb +52 -0
  58. data/lib/chef/knife/ionoscloud_firewall_list.rb +5 -3
  59. data/lib/chef/knife/ionoscloud_firewall_update.rb +133 -0
  60. data/lib/chef/knife/ionoscloud_flowlog_create.rb +116 -0
  61. data/lib/chef/knife/ionoscloud_flowlog_delete.rb +103 -0
  62. data/lib/chef/knife/ionoscloud_flowlog_get.rb +84 -0
  63. data/lib/chef/knife/ionoscloud_flowlog_list.rb +101 -0
  64. data/lib/chef/knife/ionoscloud_flowlog_update.rb +127 -0
  65. data/lib/chef/knife/ionoscloud_group_create.rb +33 -27
  66. data/lib/chef/knife/ionoscloud_group_delete.rb +1 -11
  67. data/lib/chef/knife/ionoscloud_group_get.rb +1 -13
  68. data/lib/chef/knife/ionoscloud_group_list.rb +19 -7
  69. data/lib/chef/knife/ionoscloud_group_update.rb +131 -0
  70. data/lib/chef/knife/ionoscloud_group_user_add.rb +1 -18
  71. data/lib/chef/knife/ionoscloud_group_user_remove.rb +1 -18
  72. data/lib/chef/knife/ionoscloud_image_list.rb +1 -1
  73. data/lib/chef/knife/ionoscloud_ipblock_create.rb +10 -13
  74. data/lib/chef/knife/ionoscloud_ipblock_delete.rb +1 -4
  75. data/lib/chef/knife/ionoscloud_ipblock_get.rb +33 -0
  76. data/lib/chef/knife/ionoscloud_ipblock_update.rb +57 -0
  77. data/lib/chef/knife/ionoscloud_ipfailover_add.rb +1 -1
  78. data/lib/chef/knife/ionoscloud_ipfailover_remove.rb +1 -1
  79. data/lib/chef/knife/ionoscloud_k8s_create.rb +27 -35
  80. data/lib/chef/knife/ionoscloud_k8s_delete.rb +1 -9
  81. data/lib/chef/knife/ionoscloud_k8s_get.rb +33 -0
  82. data/lib/chef/knife/ionoscloud_k8s_update.rb +99 -0
  83. data/lib/chef/knife/ionoscloud_label_add.rb +1 -1
  84. data/lib/chef/knife/ionoscloud_label_list.rb +1 -1
  85. data/lib/chef/knife/ionoscloud_label_remove.rb +1 -1
  86. data/lib/chef/knife/ionoscloud_lan_create.rb +6 -14
  87. data/lib/chef/knife/ionoscloud_lan_delete.rb +3 -4
  88. data/lib/chef/knife/ionoscloud_lan_get.rb +38 -0
  89. data/lib/chef/knife/ionoscloud_lan_list.rb +2 -1
  90. data/lib/chef/knife/ionoscloud_lan_update.rb +76 -0
  91. data/lib/chef/knife/ionoscloud_loadbalancer_create.rb +4 -14
  92. data/lib/chef/knife/ionoscloud_loadbalancer_delete.rb +2 -9
  93. data/lib/chef/knife/ionoscloud_loadbalancer_get.rb +3 -13
  94. data/lib/chef/knife/ionoscloud_loadbalancer_list.rb +1 -1
  95. data/lib/chef/knife/ionoscloud_loadbalancer_nic_add.rb +3 -15
  96. data/lib/chef/knife/ionoscloud_loadbalancer_nic_remove.rb +3 -16
  97. data/lib/chef/knife/ionoscloud_loadbalancer_update.rb +73 -0
  98. data/lib/chef/knife/ionoscloud_location_list.rb +5 -3
  99. data/lib/chef/knife/ionoscloud_natgateway_create.rb +60 -0
  100. data/lib/chef/knife/ionoscloud_natgateway_delete.rb +54 -0
  101. data/lib/chef/knife/ionoscloud_natgateway_get.rb +42 -0
  102. data/lib/chef/knife/ionoscloud_natgateway_lan_add.rb +74 -0
  103. data/lib/chef/knife/ionoscloud_natgateway_lan_remove.rb +52 -0
  104. data/lib/chef/knife/ionoscloud_natgateway_list.rb +51 -0
  105. data/lib/chef/knife/ionoscloud_natgateway_rule_add.rb +107 -0
  106. data/lib/chef/knife/ionoscloud_natgateway_rule_list.rb +65 -0
  107. data/lib/chef/knife/ionoscloud_natgateway_rule_remove.rb +55 -0
  108. data/lib/chef/knife/ionoscloud_natgateway_rule_update.rb +116 -0
  109. data/lib/chef/knife/ionoscloud_natgateway_update.rb +84 -0
  110. data/lib/chef/knife/ionoscloud_networkloadbalancer_create.rb +89 -0
  111. data/lib/chef/knife/ionoscloud_networkloadbalancer_delete.rb +62 -0
  112. data/lib/chef/knife/ionoscloud_networkloadbalancer_get.rb +42 -0
  113. data/lib/chef/knife/ionoscloud_networkloadbalancer_list.rb +57 -0
  114. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_add.rb +141 -0
  115. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_list.rb +65 -0
  116. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_remove.rb +68 -0
  117. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_add.rb +124 -0
  118. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_list.rb +70 -0
  119. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_remove.rb +88 -0
  120. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_update.rb +148 -0
  121. data/lib/chef/knife/ionoscloud_networkloadbalancer_update.rb +98 -0
  122. data/lib/chef/knife/ionoscloud_nic_create.rb +17 -22
  123. data/lib/chef/knife/ionoscloud_nic_delete.rb +3 -7
  124. data/lib/chef/knife/ionoscloud_nic_get.rb +49 -0
  125. data/lib/chef/knife/ionoscloud_nic_list.rb +9 -5
  126. data/lib/chef/knife/ionoscloud_nic_update.rb +96 -0
  127. data/lib/chef/knife/ionoscloud_node_get.rb +49 -0
  128. data/lib/chef/knife/ionoscloud_node_list.rb +0 -1
  129. data/lib/chef/knife/ionoscloud_nodepool_create.rb +35 -48
  130. data/lib/chef/knife/ionoscloud_nodepool_delete.rb +1 -7
  131. data/lib/chef/knife/ionoscloud_nodepool_get.rb +43 -0
  132. data/lib/chef/knife/ionoscloud_nodepool_lan_add.rb +104 -0
  133. data/lib/chef/knife/ionoscloud_nodepool_lan_remove.rb +72 -0
  134. data/lib/chef/knife/ionoscloud_nodepool_list.rb +3 -1
  135. data/lib/chef/knife/ionoscloud_nodepool_update.rb +124 -0
  136. data/lib/chef/knife/ionoscloud_pcc_create.rb +12 -18
  137. data/lib/chef/knife/ionoscloud_pcc_delete.rb +2 -10
  138. data/lib/chef/knife/ionoscloud_pcc_get.rb +33 -0
  139. data/lib/chef/knife/ionoscloud_pcc_list.rb +1 -1
  140. data/lib/chef/knife/ionoscloud_pcc_update.rb +63 -0
  141. data/lib/chef/knife/ionoscloud_request_get.rb +40 -0
  142. data/lib/chef/knife/ionoscloud_request_list.rb +1 -1
  143. data/lib/chef/knife/ionoscloud_request_status.rb +1 -1
  144. data/lib/chef/knife/ionoscloud_s3key_create.rb +3 -7
  145. data/lib/chef/knife/ionoscloud_s3key_delete.rb +4 -7
  146. data/lib/chef/knife/ionoscloud_s3key_get.rb +38 -0
  147. data/lib/chef/knife/ionoscloud_s3key_list.rb +2 -2
  148. data/lib/chef/knife/ionoscloud_server_console.rb +43 -0
  149. data/lib/chef/knife/ionoscloud_server_create.rb +14 -26
  150. data/lib/chef/knife/ionoscloud_server_delete.rb +3 -9
  151. data/lib/chef/knife/ionoscloud_server_get.rb +43 -0
  152. data/lib/chef/knife/ionoscloud_server_list.rb +16 -5
  153. data/lib/chef/knife/ionoscloud_server_reboot.rb +1 -1
  154. data/lib/chef/knife/ionoscloud_server_resume.rb +44 -0
  155. data/lib/chef/knife/ionoscloud_server_start.rb +1 -1
  156. data/lib/chef/knife/ionoscloud_server_stop.rb +1 -1
  157. data/lib/chef/knife/ionoscloud_server_suspend.rb +45 -0
  158. data/lib/chef/knife/ionoscloud_server_token.rb +43 -0
  159. data/lib/chef/knife/ionoscloud_server_update.rb +97 -0
  160. data/lib/chef/knife/ionoscloud_server_upgrade.rb +45 -0
  161. data/lib/chef/knife/ionoscloud_share_create.rb +7 -11
  162. data/lib/chef/knife/ionoscloud_share_delete.rb +2 -3
  163. data/lib/chef/knife/ionoscloud_share_get.rb +38 -0
  164. data/lib/chef/knife/ionoscloud_share_update.rb +70 -0
  165. data/lib/chef/knife/ionoscloud_snapshot_create.rb +2 -10
  166. data/lib/chef/knife/ionoscloud_snapshot_delete.rb +2 -7
  167. data/lib/chef/knife/ionoscloud_snapshot_get.rb +32 -0
  168. data/lib/chef/knife/ionoscloud_snapshot_list.rb +1 -1
  169. data/lib/chef/knife/ionoscloud_snapshot_restore.rb +3 -14
  170. data/lib/chef/knife/ionoscloud_snapshot_update.rb +126 -0
  171. data/lib/chef/knife/ionoscloud_template_list.rb +47 -0
  172. data/lib/chef/knife/ionoscloud_user_create.rb +1 -8
  173. data/lib/chef/knife/ionoscloud_user_delete.rb +1 -6
  174. data/lib/chef/knife/ionoscloud_user_get.rb +32 -0
  175. data/lib/chef/knife/ionoscloud_user_ssourl.rb +1 -1
  176. data/lib/chef/knife/ionoscloud_user_update.rb +92 -0
  177. data/lib/chef/knife/ionoscloud_volume_attach.rb +1 -1
  178. data/lib/chef/knife/ionoscloud_volume_create.rb +18 -34
  179. data/lib/chef/knife/ionoscloud_volume_delete.rb +3 -9
  180. data/lib/chef/knife/ionoscloud_volume_detach.rb +1 -1
  181. data/lib/chef/knife/ionoscloud_volume_get.rb +36 -0
  182. data/lib/chef/knife/ionoscloud_volume_list.rb +2 -2
  183. data/lib/chef/knife/ionoscloud_volume_update.rb +106 -0
  184. data/lib/knife-ionoscloud/version.rb +1 -1
  185. data/spec/chef/knife/ionoscloud_backupunit_create_spec.rb +2 -2
  186. data/spec/chef/knife/ionoscloud_backupunit_delete_spec.rb +5 -5
  187. data/spec/chef/knife/ionoscloud_backupunit_get_spec.rb +65 -0
  188. data/spec/chef/knife/ionoscloud_backupunit_list_spec.rb +1 -1
  189. data/spec/chef/knife/ionoscloud_backupunit_ssourl_spec.rb +3 -3
  190. data/spec/chef/knife/ionoscloud_backupunit_update_spec.rb +78 -0
  191. data/spec/chef/knife/ionoscloud_base_spec.rb +4 -4
  192. data/spec/chef/knife/ionoscloud_composite_server_create_spec.rb +11 -8
  193. data/spec/chef/knife/ionoscloud_contract_list_spec.rb +32 -27
  194. data/spec/chef/knife/ionoscloud_cube_server_create_spec.rb +249 -0
  195. data/spec/chef/knife/ionoscloud_datacenter_create_spec.rb +6 -2
  196. data/spec/chef/knife/ionoscloud_datacenter_delete_spec.rb +8 -5
  197. data/spec/chef/knife/ionoscloud_datacenter_get_spec.rb +69 -0
  198. data/spec/chef/knife/ionoscloud_datacenter_list_spec.rb +5 -3
  199. data/spec/chef/knife/ionoscloud_datacenter_update_spec.rb +82 -0
  200. data/spec/chef/knife/ionoscloud_firewall_create_spec.rb +5 -3
  201. data/spec/chef/knife/ionoscloud_firewall_delete_spec.rb +6 -5
  202. data/spec/chef/knife/ionoscloud_firewall_get_spec.rb +77 -0
  203. data/spec/chef/knife/ionoscloud_firewall_list_spec.rb +5 -3
  204. data/spec/chef/knife/ionoscloud_firewall_update_spec.rb +117 -0
  205. data/spec/chef/knife/ionoscloud_flowlog_create_spec.rb +254 -0
  206. data/spec/chef/knife/ionoscloud_flowlog_delete_spec.rb +360 -0
  207. data/spec/chef/knife/ionoscloud_flowlog_get_spec.rb +171 -0
  208. data/spec/chef/knife/ionoscloud_flowlog_list_spec.rb +264 -0
  209. data/spec/chef/knife/ionoscloud_flowlog_update_spec.rb +244 -0
  210. data/spec/chef/knife/ionoscloud_group_create_spec.rb +9 -0
  211. data/spec/chef/knife/ionoscloud_group_delete_spec.rb +6 -0
  212. data/spec/chef/knife/ionoscloud_group_get_spec.rb +6 -0
  213. data/spec/chef/knife/ionoscloud_group_list_spec.rb +26 -8
  214. data/spec/chef/knife/ionoscloud_group_update_spec.rb +121 -0
  215. data/spec/chef/knife/ionoscloud_group_user_add_spec.rb +6 -0
  216. data/spec/chef/knife/ionoscloud_group_user_remove_spec.rb +6 -0
  217. data/spec/chef/knife/ionoscloud_image_list_spec.rb +2 -2
  218. data/spec/chef/knife/ionoscloud_ipblock_get_spec.rb +66 -0
  219. data/spec/chef/knife/ionoscloud_ipblock_update_spec.rb +79 -0
  220. data/spec/chef/knife/ionoscloud_ipfailover_add_spec.rb +4 -4
  221. data/spec/chef/knife/ionoscloud_ipfailover_remove_spec.rb +7 -7
  222. data/spec/chef/knife/ionoscloud_k8s_create_spec.rb +7 -0
  223. data/spec/chef/knife/ionoscloud_k8s_delete_spec.rb +16 -11
  224. data/spec/chef/knife/ionoscloud_k8s_get_spec.rb +72 -0
  225. data/spec/chef/knife/ionoscloud_k8s_update_spec.rb +114 -0
  226. data/spec/chef/knife/ionoscloud_kubeconfig_get_spec.rb +2 -2
  227. data/spec/chef/knife/ionoscloud_label_add_spec.rb +10 -10
  228. data/spec/chef/knife/ionoscloud_label_list_spec.rb +14 -14
  229. data/spec/chef/knife/ionoscloud_label_remove_spec.rb +20 -20
  230. data/spec/chef/knife/ionoscloud_lan_create_spec.rb +4 -3
  231. data/spec/chef/knife/ionoscloud_lan_delete_spec.rb +7 -5
  232. data/spec/chef/knife/ionoscloud_lan_get_spec.rb +68 -0
  233. data/spec/chef/knife/ionoscloud_lan_list_spec.rb +2 -2
  234. data/spec/chef/knife/ionoscloud_lan_update_spec.rb +87 -0
  235. data/spec/chef/knife/ionoscloud_loadbalancer_create_spec.rb +3 -3
  236. data/spec/chef/knife/ionoscloud_loadbalancer_delete_spec.rb +5 -5
  237. data/spec/chef/knife/ionoscloud_loadbalancer_get_spec.rb +2 -2
  238. data/spec/chef/knife/ionoscloud_loadbalancer_list_spec.rb +2 -2
  239. data/spec/chef/knife/ionoscloud_loadbalancer_nic_add_spec.rb +6 -6
  240. data/spec/chef/knife/ionoscloud_loadbalancer_nic_remove_spec.rb +6 -6
  241. data/spec/chef/knife/ionoscloud_loadbalancer_update_spec.rb +89 -0
  242. data/spec/chef/knife/ionoscloud_location_list_spec.rb +5 -3
  243. data/spec/chef/knife/ionoscloud_natgateway_create_spec.rb +92 -0
  244. data/spec/chef/knife/ionoscloud_natgateway_delete_spec.rb +118 -0
  245. data/spec/chef/knife/ionoscloud_natgateway_get_spec.rb +81 -0
  246. data/spec/chef/knife/ionoscloud_natgateway_lan_add_spec.rb +158 -0
  247. data/spec/chef/knife/ionoscloud_natgateway_lan_remove_spec.rb +209 -0
  248. data/spec/chef/knife/ionoscloud_natgateway_list_spec.rb +79 -0
  249. data/spec/chef/knife/ionoscloud_natgateway_rule_add_spec.rb +99 -0
  250. data/spec/chef/knife/ionoscloud_natgateway_rule_list_spec.rb +92 -0
  251. data/spec/chef/knife/ionoscloud_natgateway_rule_remove_spec.rb +78 -0
  252. data/spec/chef/knife/ionoscloud_natgateway_rule_update_spec.rb +121 -0
  253. data/spec/chef/knife/ionoscloud_natgateway_update_spec.rb +121 -0
  254. data/spec/chef/knife/ionoscloud_networkloadbalancer_create_spec.rb +93 -0
  255. data/spec/chef/knife/ionoscloud_networkloadbalancer_delete_spec.rb +120 -0
  256. data/spec/chef/knife/ionoscloud_networkloadbalancer_get_spec.rb +82 -0
  257. data/spec/chef/knife/ionoscloud_networkloadbalancer_list_spec.rb +88 -0
  258. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_add_spec.rb +105 -0
  259. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_list_spec.rb +89 -0
  260. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_remove_spec.rb +150 -0
  261. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_add_spec.rb +113 -0
  262. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_list_spec.rb +85 -0
  263. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_remove_spec.rb +281 -0
  264. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_update_spec.rb +163 -0
  265. data/spec/chef/knife/ionoscloud_networkloadbalancer_update_spec.rb +107 -0
  266. data/spec/chef/knife/ionoscloud_nic_create_spec.rb +9 -5
  267. data/spec/chef/knife/ionoscloud_nic_delete_spec.rb +8 -6
  268. data/spec/chef/knife/ionoscloud_nic_get_spec.rb +72 -0
  269. data/spec/chef/knife/ionoscloud_nic_list_spec.rb +12 -6
  270. data/spec/chef/knife/ionoscloud_nic_update_spec.rb +97 -0
  271. data/spec/chef/knife/ionoscloud_node_get_spec.rb +70 -0
  272. data/spec/chef/knife/ionoscloud_nodepool_create_spec.rb +10 -5
  273. data/spec/chef/knife/ionoscloud_nodepool_delete_spec.rb +14 -0
  274. data/spec/chef/knife/ionoscloud_nodepool_get_spec.rb +83 -0
  275. data/spec/chef/knife/ionoscloud_nodepool_lan_add_spec.rb +222 -0
  276. data/spec/chef/knife/ionoscloud_nodepool_lan_remove.rb +196 -0
  277. data/spec/chef/knife/ionoscloud_nodepool_list_spec.rb +3 -1
  278. data/spec/chef/knife/ionoscloud_nodepool_update_spec.rb +134 -0
  279. data/spec/chef/knife/ionoscloud_pcc_create_spec.rb +11 -8
  280. data/spec/chef/knife/ionoscloud_pcc_delete_spec.rb +7 -7
  281. data/spec/chef/knife/ionoscloud_pcc_get_spec.rb +71 -0
  282. data/spec/chef/knife/ionoscloud_pcc_list_spec.rb +2 -2
  283. data/spec/chef/knife/ionoscloud_pcc_update_spec.rb +83 -0
  284. data/spec/chef/knife/ionoscloud_request_get_spec.rb +69 -0
  285. data/spec/chef/knife/ionoscloud_request_list_spec.rb +16 -16
  286. data/spec/chef/knife/ionoscloud_request_status_spec.rb +3 -3
  287. data/spec/chef/knife/ionoscloud_s3key_create_spec.rb +2 -2
  288. data/spec/chef/knife/ionoscloud_s3key_delete_spec.rb +5 -5
  289. data/spec/chef/knife/ionoscloud_s3key_get_spec.rb +66 -0
  290. data/spec/chef/knife/ionoscloud_s3key_list_spec.rb +2 -2
  291. data/spec/chef/knife/ionoscloud_server_console_spec.rb +97 -0
  292. data/spec/chef/knife/ionoscloud_server_create_spec.rb +6 -3
  293. data/spec/chef/knife/ionoscloud_server_delete_spec.rb +8 -5
  294. data/spec/chef/knife/ionoscloud_server_get_spec.rb +74 -0
  295. data/spec/chef/knife/ionoscloud_server_list_spec.rb +63 -5
  296. data/spec/chef/knife/ionoscloud_server_reboot_spec.rb +3 -5
  297. data/spec/chef/knife/ionoscloud_server_resume_spec.rb +93 -0
  298. data/spec/chef/knife/ionoscloud_server_start_spec.rb +3 -5
  299. data/spec/chef/knife/ionoscloud_server_stop_spec.rb +3 -5
  300. data/spec/chef/knife/ionoscloud_server_suspend_spec.rb +93 -0
  301. data/spec/chef/knife/ionoscloud_server_token_spec.rb +97 -0
  302. data/spec/chef/knife/ionoscloud_server_update_spec.rb +105 -0
  303. data/spec/chef/knife/ionoscloud_server_upgrade_spec.rb +96 -0
  304. data/spec/chef/knife/ionoscloud_share_get_spec.rb +66 -0
  305. data/spec/chef/knife/ionoscloud_share_update_spec.rb +91 -0
  306. data/spec/chef/knife/ionoscloud_snapshot_create_spec.rb +15 -3
  307. data/spec/chef/knife/ionoscloud_snapshot_delete_spec.rb +17 -5
  308. data/spec/chef/knife/ionoscloud_snapshot_get_spec.rb +79 -0
  309. data/spec/chef/knife/ionoscloud_snapshot_list_spec.rb +2 -2
  310. data/spec/chef/knife/ionoscloud_snapshot_restore_spec.rb +12 -3
  311. data/spec/chef/knife/ionoscloud_snapshot_update_spec.rb +113 -0
  312. data/spec/chef/knife/ionoscloud_template_list_spec.rb +78 -0
  313. data/spec/chef/knife/ionoscloud_user_create_spec.rb +3 -1
  314. data/spec/chef/knife/ionoscloud_user_delete_spec.rb +4 -2
  315. data/spec/chef/knife/ionoscloud_user_get_spec.rb +70 -0
  316. data/spec/chef/knife/ionoscloud_user_ssourl_spec.rb +3 -3
  317. data/spec/chef/knife/ionoscloud_user_update_spec.rb +110 -0
  318. data/spec/chef/knife/ionoscloud_volume_attach_spec.rb +4 -4
  319. data/spec/chef/knife/ionoscloud_volume_create_spec.rb +21 -11
  320. data/spec/chef/knife/ionoscloud_volume_delete_spec.rb +15 -5
  321. data/spec/chef/knife/ionoscloud_volume_detach_spec.rb +5 -5
  322. data/spec/chef/knife/ionoscloud_volume_get_spec.rb +81 -0
  323. data/spec/chef/knife/ionoscloud_volume_list_spec.rb +4 -4
  324. data/spec/chef/knife/ionoscloud_volume_update_spec.rb +116 -0
  325. data/spec/spec_helper.rb +251 -39
  326. metadata +245 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2bf6365730f2ea2bd535b2ca7e4b570f178ab3c23acb9a616b108ecac6646d1d
4
- data.tar.gz: 4317b3182aed290d5019d65cbd703711402a6721225783e30c44f860ef6a50ba
3
+ metadata.gz: 7eb585be2cb294b884a7a37fa48edfc54998716ffcbce169898372eb9e24f143
4
+ data.tar.gz: 95ea0e6e4ab11d865c63537b6dd63bef204197e1a32610a3c7208018c8c7f8a1
5
5
  SHA512:
6
- metadata.gz: 63eac0af3ac4b01327b7c9812d8c0151c40a30f52c6eaf71380ba7c153220eba0bfa5aaa217cfe8be53960253817bb7fa67b7420d0d40c3be4c07bbd728258f8
7
- data.tar.gz: 035a472cb378cc9314fe6428a7d383688ddfef52ff03cfc17a817bbd1318770c362c345ba51858605aff119dcab012ecd33a5d2932b5056472af7ee40e42251c
6
+ metadata.gz: dd0ee5ff7332cfb3004000b7d8f422bf370d4e0d06c0c4185144fb83d790b123d3479f3cf1886cbd2f5eb4a9c78d3baed152f6941db3687c47e3825400bdbed0
7
+ data.tar.gz: d1b0da891bea8cf664277a8d298cefbc1d42c08b698d9c7810011346b92f437526104049c0926535c083c0883836af6c18989bf2472b30f36ceb3e4a5d9aafc8
data/docs/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Knife plugin
1
+ # Introduction
2
2
 
3
3
  ![CI](https://github.com/ionos-cloud/knife-ionos-cloud/workflows/CI/badge.svg) [![Gem Version](https://badge.fury.io/rb/knife-ionoscloud.svg)](https://badge.fury.io/rb/knife-ionoscloud) [![Gitter](https://badges.gitter.im/ionos-cloud/sdk-general.png)](https://gitter.im/ionos-cloud/sdk-general)
4
4
 
@@ -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,8 +88,8 @@ 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)
@@ -98,5 +104,5 @@ knife ionoscloud composite server create (options)
98
104
  ## Example
99
105
 
100
106
  ```text
101
- 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 --extra-config EXTRA_CONFIG_FILE_PATH
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
102
108
  ```
@@ -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
+ ```
@@ -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,6 +53,9 @@ 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
 
@@ -66,5 +69,5 @@ knife ionoscloud firewall create (options)
66
69
  ## Example
67
70
 
68
71
  ```text
69
- 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 --extra-config EXTRA_CONFIG_FILE_PATH
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
70
73
  ```
@@ -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
+ ```
@@ -45,6 +45,15 @@ knife ionoscloud group create (options)
45
45
  create_internet_access: --create-internet-access
46
46
  the group will be have internet access privilege.
47
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
+
48
57
  ionoscloud_username: --username USERNAME, -u USERNAME
49
58
  your Ionoscloud username (required)
50
59
 
@@ -58,5 +67,5 @@ knife ionoscloud group create (options)
58
67
  ## Example
59
68
 
60
69
  ```text
61
- 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 --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
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
62
71
  ```
@@ -0,0 +1,41 @@
1
+ # NatgatewayCreate
2
+
3
+ Creates a new Nat Gateway under a data center.
4
+
5
+ ```text
6
+ knife ionoscloud natgateway create (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
+ name: --name NAME, -n NAME
22
+ name of the server
23
+
24
+ ips: --ips IP[,IP,...], -i IP[,IP,...]
25
+ iPs assigned to the NIC
26
+
27
+ ionoscloud_username: --username USERNAME, -u USERNAME
28
+ your Ionoscloud username (required)
29
+
30
+ ionoscloud_password: --password PASSWORD, -p PASSWORD
31
+ your Ionoscloud password (required)
32
+
33
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
34
+ path to the additional config file
35
+
36
+ ```
37
+ ## Example
38
+
39
+ ```text
40
+ knife ionoscloud natgateway create --datacenter-id DATACENTER_ID --name NAME --ips IP[,IP,...] --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
41
+ ```
@@ -0,0 +1,35 @@
1
+ # NatgatewayDelete
2
+
3
+ Deletes an existing NAT Gateway.
4
+
5
+ ```text
6
+ knife ionoscloud natgateway delete NATGATEWAY_ID [NATGATEWAY_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 natgateway delete NATGATEWAY_ID
35
+ ```
@@ -0,0 +1,46 @@
1
+ # NatgatewayLanAdd
2
+
3
+ Adds a LAN to a Nat Gateway under a data center.
4
+
5
+ ```text
6
+ knife ionoscloud natgateway lan add (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * natgateway\_id
15
+ * lan\_id
16
+ * ionoscloud\_username
17
+ * ionoscloud\_password
18
+
19
+ ```text
20
+ datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
21
+ name of the data center (required)
22
+
23
+ natgateway_id: --natgateway-id NATGATEWAY_ID, -G NATGATEWAY_ID
24
+ iD of the NAT Gateway (required)
25
+
26
+ lan_id: --lan LAN_ID, -L LAN_ID
27
+ iD of the LAN (required)
28
+
29
+ gateway_ips: --ips IP[,IP,...], -i IP[,IP,...]
30
+ collection of gateway IP addresses of the NAT gateway. Will be auto-generated if not provided. Should ideally be an IP belonging to the same subnet as the LAN
31
+
32
+ ionoscloud_username: --username USERNAME, -u USERNAME
33
+ your Ionoscloud username (required)
34
+
35
+ ionoscloud_password: --password PASSWORD, -p PASSWORD
36
+ your Ionoscloud password (required)
37
+
38
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
39
+ path to the additional config file
40
+
41
+ ```
42
+ ## Example
43
+
44
+ ```text
45
+ knife ionoscloud natgateway lan add --datacenter-id DATACENTER_ID --natgateway-id NATGATEWAY_ID --lan LAN_ID --ips IP[,IP,...] --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
46
+ ```
@@ -0,0 +1,39 @@
1
+ # NatgatewayLanRemove
2
+
3
+ Removes the specified LANS from a Nat Gateway under a data center.
4
+
5
+ ```text
6
+ knife ionoscloud natgateway lan remove LAN_ID [LAN_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 lan remove LAN_ID
39
+ ```
@@ -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
+ ```