knife-ionoscloud 5.1.2 → 6.0.0.alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (402) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/publish.yml +1 -4
  3. data/docs/README.md +0 -19
  4. data/docs/docs_generator.rb +1 -1
  5. data/docs/subcommands/backupunit_create.md +2 -5
  6. data/docs/subcommands/backupunit_delete.md +1 -4
  7. data/docs/subcommands/backupunit_list.md +1 -4
  8. data/docs/subcommands/backupunit_ssourl.md +1 -4
  9. data/docs/subcommands/composite_server_create.md +1 -4
  10. data/docs/subcommands/contract_list.md +1 -4
  11. data/docs/subcommands/datacenter_create.md +1 -4
  12. data/docs/subcommands/datacenter_delete.md +1 -4
  13. data/docs/subcommands/datacenter_list.md +1 -4
  14. data/docs/subcommands/firewall_create.md +2 -5
  15. data/docs/subcommands/firewall_delete.md +0 -3
  16. data/docs/subcommands/firewall_list.md +1 -4
  17. data/docs/subcommands/group_create.md +1 -4
  18. data/docs/subcommands/group_delete.md +1 -4
  19. data/docs/subcommands/group_get.md +1 -4
  20. data/docs/subcommands/group_list.md +1 -4
  21. data/docs/subcommands/group_user_add.md +0 -3
  22. data/docs/subcommands/group_user_remove.md +0 -3
  23. data/docs/subcommands/image_list.md +1 -4
  24. data/docs/subcommands/ipblock_create.md +1 -4
  25. data/docs/subcommands/ipblock_delete.md +1 -4
  26. data/docs/subcommands/ipblock_list.md +1 -4
  27. data/docs/subcommands/ipfailover_add.md +1 -4
  28. data/docs/subcommands/ipfailover_remove.md +1 -4
  29. data/docs/subcommands/k8s_create.md +5 -11
  30. data/docs/subcommands/k8s_delete.md +1 -4
  31. data/docs/subcommands/k8s_list.md +1 -4
  32. data/docs/subcommands/kubeconfig_get.md +1 -4
  33. data/docs/subcommands/label_add.md +1 -4
  34. data/docs/subcommands/label_list.md +1 -4
  35. data/docs/subcommands/label_remove.md +0 -3
  36. data/docs/subcommands/lan_create.md +1 -4
  37. data/docs/subcommands/lan_delete.md +0 -3
  38. data/docs/subcommands/lan_list.md +1 -4
  39. data/docs/subcommands/loadbalancer_create.md +2 -5
  40. data/docs/subcommands/loadbalancer_delete.md +0 -3
  41. data/docs/subcommands/loadbalancer_get.md +1 -4
  42. data/docs/subcommands/loadbalancer_list.md +1 -4
  43. data/docs/subcommands/loadbalancer_nic_add.md +0 -3
  44. data/docs/subcommands/loadbalancer_nic_remove.md +0 -3
  45. data/docs/subcommands/location_list.md +1 -4
  46. data/docs/subcommands/nic_create.md +3 -6
  47. data/docs/subcommands/nic_delete.md +1 -4
  48. data/docs/subcommands/nic_list.md +1 -4
  49. data/docs/subcommands/node_delete.md +0 -3
  50. data/docs/subcommands/node_list.md +1 -4
  51. data/docs/subcommands/node_replace.md +0 -3
  52. data/docs/subcommands/nodepool_create.md +5 -17
  53. data/docs/subcommands/nodepool_delete.md +0 -3
  54. data/docs/subcommands/nodepool_list.md +1 -4
  55. data/docs/subcommands/pcc_create.md +1 -4
  56. data/docs/subcommands/pcc_delete.md +1 -4
  57. data/docs/subcommands/pcc_list.md +1 -4
  58. data/docs/subcommands/request_list.md +1 -4
  59. data/docs/subcommands/request_status.md +1 -4
  60. data/docs/subcommands/request_wait.md +1 -4
  61. data/docs/subcommands/resource_list.md +1 -4
  62. data/docs/subcommands/s3key_create.md +1 -4
  63. data/docs/subcommands/s3key_delete.md +0 -3
  64. data/docs/subcommands/s3key_list.md +1 -4
  65. data/docs/subcommands/server_create.md +1 -4
  66. data/docs/subcommands/server_delete.md +0 -3
  67. data/docs/subcommands/server_list.md +1 -4
  68. data/docs/subcommands/server_reboot.md +0 -3
  69. data/docs/subcommands/server_start.md +0 -3
  70. data/docs/subcommands/server_stop.md +0 -3
  71. data/docs/subcommands/share_create.md +2 -5
  72. data/docs/subcommands/share_delete.md +2 -5
  73. data/docs/subcommands/share_list.md +1 -4
  74. data/docs/subcommands/snapshot_create.md +1 -4
  75. data/docs/subcommands/snapshot_delete.md +1 -4
  76. data/docs/subcommands/snapshot_list.md +1 -4
  77. data/docs/subcommands/snapshot_restore.md +1 -4
  78. data/docs/subcommands/user_create.md +3 -12
  79. data/docs/subcommands/user_delete.md +1 -4
  80. data/docs/subcommands/user_list.md +1 -4
  81. data/docs/subcommands/user_ssourl.md +1 -4
  82. data/docs/subcommands/volume_attach.md +0 -3
  83. data/docs/subcommands/volume_create.md +1 -28
  84. data/docs/subcommands/volume_delete.md +0 -3
  85. data/docs/subcommands/volume_detach.md +0 -3
  86. data/docs/subcommands/volume_list.md +1 -4
  87. data/docs/summary.md +0 -33
  88. data/knife-ionoscloud.gemspec +1 -1
  89. data/lib/chef/knife/ionoscloud_backupunit_create.rb +16 -12
  90. data/lib/chef/knife/ionoscloud_backupunit_delete.rb +5 -3
  91. data/lib/chef/knife/ionoscloud_backupunit_list.rb +1 -2
  92. data/lib/chef/knife/ionoscloud_backupunit_ssourl.rb +1 -2
  93. data/lib/chef/knife/ionoscloud_base.rb +6 -259
  94. data/lib/chef/knife/ionoscloud_composite_server_create.rb +38 -9
  95. data/lib/chef/knife/ionoscloud_contract_list.rb +32 -24
  96. data/lib/chef/knife/ionoscloud_cube_server_create.rb +215 -0
  97. data/lib/chef/knife/ionoscloud_datacenter_create.rb +14 -12
  98. data/lib/chef/knife/ionoscloud_datacenter_delete.rb +8 -3
  99. data/lib/chef/knife/ionoscloud_datacenter_list.rb +3 -4
  100. data/lib/chef/knife/ionoscloud_firewall_create.rb +24 -7
  101. data/lib/chef/knife/ionoscloud_firewall_delete.rb +14 -6
  102. data/lib/chef/knife/ionoscloud_firewall_list.rb +5 -4
  103. data/lib/chef/knife/ionoscloud_flowlog_create.rb +121 -0
  104. data/lib/chef/knife/ionoscloud_flowlog_delete.rb +106 -0
  105. data/lib/chef/knife/ionoscloud_flowlog_list.rb +100 -0
  106. data/lib/chef/knife/ionoscloud_group_create.rb +46 -16
  107. data/lib/chef/knife/ionoscloud_group_delete.rb +18 -2
  108. data/lib/chef/knife/ionoscloud_group_get.rb +17 -2
  109. data/lib/chef/knife/ionoscloud_group_list.rb +7 -2
  110. data/lib/chef/knife/ionoscloud_group_user_add.rb +13 -2
  111. data/lib/chef/knife/ionoscloud_group_user_remove.rb +13 -2
  112. data/lib/chef/knife/ionoscloud_image_list.rb +1 -2
  113. data/lib/chef/knife/ionoscloud_ipblock_create.rb +13 -11
  114. data/lib/chef/knife/ionoscloud_ipblock_delete.rb +4 -3
  115. data/lib/chef/knife/ionoscloud_ipblock_list.rb +1 -2
  116. data/lib/chef/knife/ionoscloud_ipfailover_add.rb +15 -9
  117. data/lib/chef/knife/ionoscloud_ipfailover_remove.rb +9 -3
  118. data/lib/chef/knife/ionoscloud_k8s_create.rb +30 -28
  119. data/lib/chef/knife/ionoscloud_k8s_delete.rb +9 -2
  120. data/lib/chef/knife/ionoscloud_k8s_list.rb +0 -1
  121. data/lib/chef/knife/ionoscloud_kubeconfig_get.rb +0 -1
  122. data/lib/chef/knife/ionoscloud_label_add.rb +1 -2
  123. data/lib/chef/knife/ionoscloud_label_list.rb +1 -2
  124. data/lib/chef/knife/ionoscloud_label_remove.rb +1 -2
  125. data/lib/chef/knife/ionoscloud_lan_create.rb +14 -7
  126. data/lib/chef/knife/ionoscloud_lan_delete.rb +4 -4
  127. data/lib/chef/knife/ionoscloud_lan_list.rb +2 -5
  128. data/lib/chef/knife/ionoscloud_loadbalancer_create.rb +16 -7
  129. data/lib/chef/knife/ionoscloud_loadbalancer_delete.rb +10 -3
  130. data/lib/chef/knife/ionoscloud_loadbalancer_get.rb +13 -4
  131. data/lib/chef/knife/ionoscloud_loadbalancer_list.rb +1 -2
  132. data/lib/chef/knife/ionoscloud_loadbalancer_nic_add.rb +14 -5
  133. data/lib/chef/knife/ionoscloud_loadbalancer_nic_remove.rb +14 -5
  134. data/lib/chef/knife/ionoscloud_location_list.rb +5 -4
  135. data/lib/chef/knife/ionoscloud_natgateway_create.rb +71 -0
  136. data/lib/chef/knife/ionoscloud_natgateway_delete.rb +69 -0
  137. data/lib/chef/knife/ionoscloud_natgateway_lan_add.rb +82 -0
  138. data/lib/chef/knife/ionoscloud_natgateway_lan_remove.rb +58 -0
  139. data/lib/chef/knife/ionoscloud_natgateway_list.rb +49 -0
  140. data/lib/chef/knife/ionoscloud_natgateway_rule_add.rb +124 -0
  141. data/lib/chef/knife/ionoscloud_natgateway_rule_list.rb +63 -0
  142. data/lib/chef/knife/ionoscloud_natgateway_rule_remove.rb +72 -0
  143. data/lib/chef/knife/ionoscloud_networkloadbalancer_create.rb +95 -0
  144. data/lib/chef/knife/ionoscloud_networkloadbalancer_delete.rb +81 -0
  145. data/lib/chef/knife/ionoscloud_networkloadbalancer_list.rb +56 -0
  146. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_add.rb +150 -0
  147. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_list.rb +63 -0
  148. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_remove.rb +78 -0
  149. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_add.rb +141 -0
  150. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_list.rb +68 -0
  151. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_remove.rb +105 -0
  152. data/lib/chef/knife/ionoscloud_nic_create.rb +38 -19
  153. data/lib/chef/knife/ionoscloud_nic_delete.rb +11 -5
  154. data/lib/chef/knife/ionoscloud_nic_list.rb +9 -6
  155. data/lib/chef/knife/ionoscloud_node_delete.rb +6 -2
  156. data/lib/chef/knife/ionoscloud_node_list.rb +0 -2
  157. data/lib/chef/knife/ionoscloud_node_replace.rb +0 -1
  158. data/lib/chef/knife/ionoscloud_nodepool_create.rb +60 -38
  159. data/lib/chef/knife/ionoscloud_nodepool_delete.rb +32 -2
  160. data/lib/chef/knife/ionoscloud_nodepool_lan_add.rb +130 -0
  161. data/lib/chef/knife/ionoscloud_nodepool_lan_remove.rb +96 -0
  162. data/lib/chef/knife/ionoscloud_nodepool_list.rb +3 -2
  163. data/lib/chef/knife/ionoscloud_pcc_create.rb +18 -13
  164. data/lib/chef/knife/ionoscloud_pcc_delete.rb +10 -3
  165. data/lib/chef/knife/ionoscloud_pcc_list.rb +1 -2
  166. data/lib/chef/knife/ionoscloud_request_list.rb +1 -2
  167. data/lib/chef/knife/ionoscloud_request_status.rb +1 -2
  168. data/lib/chef/knife/ionoscloud_request_wait.rb +0 -1
  169. data/lib/chef/knife/ionoscloud_resource_list.rb +0 -1
  170. data/lib/chef/knife/ionoscloud_s3key_create.rb +7 -4
  171. data/lib/chef/knife/ionoscloud_s3key_delete.rb +7 -5
  172. data/lib/chef/knife/ionoscloud_s3key_list.rb +2 -3
  173. data/lib/chef/knife/{ionoscloud_server_get.rb → ionoscloud_server_console.rb} +11 -10
  174. data/lib/chef/knife/ionoscloud_server_create.rb +26 -15
  175. data/lib/chef/knife/ionoscloud_server_delete.rb +10 -3
  176. data/lib/chef/knife/ionoscloud_server_list.rb +16 -6
  177. data/lib/chef/knife/ionoscloud_server_reboot.rb +1 -2
  178. data/lib/chef/knife/ionoscloud_server_resume.rb +43 -0
  179. data/lib/chef/knife/ionoscloud_server_start.rb +1 -2
  180. data/lib/chef/knife/ionoscloud_server_stop.rb +1 -2
  181. data/lib/chef/knife/ionoscloud_server_suspend.rb +44 -0
  182. data/lib/chef/knife/ionoscloud_server_token.rb +42 -0
  183. data/lib/chef/knife/ionoscloud_server_upgrade.rb +44 -0
  184. data/lib/chef/knife/ionoscloud_share_create.rb +12 -8
  185. data/lib/chef/knife/ionoscloud_share_delete.rb +4 -3
  186. data/lib/chef/knife/ionoscloud_share_list.rb +0 -1
  187. data/lib/chef/knife/ionoscloud_snapshot_create.rb +10 -3
  188. data/lib/chef/knife/ionoscloud_snapshot_delete.rb +7 -3
  189. data/lib/chef/knife/ionoscloud_snapshot_list.rb +1 -2
  190. data/lib/chef/knife/ionoscloud_snapshot_restore.rb +2 -3
  191. data/lib/chef/knife/ionoscloud_template_list.rb +46 -0
  192. data/lib/chef/knife/ionoscloud_user_create.rb +20 -25
  193. data/lib/chef/knife/ionoscloud_user_delete.rb +7 -2
  194. data/lib/chef/knife/ionoscloud_user_list.rb +0 -1
  195. data/lib/chef/knife/ionoscloud_user_ssourl.rb +1 -2
  196. data/lib/chef/knife/ionoscloud_volume_attach.rb +1 -2
  197. data/lib/chef/knife/ionoscloud_volume_create.rb +31 -57
  198. data/lib/chef/knife/ionoscloud_volume_delete.rb +9 -3
  199. data/lib/chef/knife/ionoscloud_volume_detach.rb +9 -3
  200. data/lib/chef/knife/ionoscloud_volume_list.rb +2 -3
  201. data/lib/knife-ionoscloud/version.rb +1 -1
  202. data/spec/chef/knife/ionoscloud_backupunit_create_spec.rb +2 -2
  203. data/spec/chef/knife/ionoscloud_backupunit_delete_spec.rb +5 -5
  204. data/spec/chef/knife/ionoscloud_backupunit_list_spec.rb +1 -1
  205. data/spec/chef/knife/ionoscloud_backupunit_ssourl_spec.rb +3 -3
  206. data/spec/chef/knife/ionoscloud_base_spec.rb +4 -4
  207. data/spec/chef/knife/ionoscloud_composite_server_create_spec.rb +11 -8
  208. data/spec/chef/knife/ionoscloud_contract_list_spec.rb +32 -27
  209. data/spec/chef/knife/ionoscloud_cube_server_create_spec.rb +249 -0
  210. data/spec/chef/knife/ionoscloud_datacenter_create_spec.rb +3 -12
  211. data/spec/chef/knife/ionoscloud_datacenter_delete_spec.rb +5 -8
  212. data/spec/chef/knife/ionoscloud_datacenter_list_spec.rb +4 -4
  213. data/spec/chef/knife/ionoscloud_firewall_create_spec.rb +5 -3
  214. data/spec/chef/knife/ionoscloud_firewall_delete_spec.rb +6 -5
  215. data/spec/chef/knife/ionoscloud_firewall_list_spec.rb +5 -3
  216. data/spec/chef/knife/ionoscloud_flowlog_create_spec.rb +254 -0
  217. data/spec/chef/knife/ionoscloud_flowlog_delete_spec.rb +360 -0
  218. data/spec/chef/knife/ionoscloud_flowlog_list_spec.rb +264 -0
  219. data/spec/chef/knife/ionoscloud_group_create_spec.rb +6 -7
  220. data/spec/chef/knife/ionoscloud_group_delete_spec.rb +3 -0
  221. data/spec/chef/knife/ionoscloud_group_get_spec.rb +3 -0
  222. data/spec/chef/knife/ionoscloud_group_list_spec.rb +11 -2
  223. data/spec/chef/knife/ionoscloud_group_user_add_spec.rb +0 -3
  224. data/spec/chef/knife/ionoscloud_group_user_remove_spec.rb +0 -3
  225. data/spec/chef/knife/ionoscloud_image_list_spec.rb +2 -2
  226. data/spec/chef/knife/ionoscloud_ipblock_delete_spec.rb +0 -2
  227. data/spec/chef/knife/ionoscloud_ipblock_list_spec.rb +1 -1
  228. data/spec/chef/knife/ionoscloud_ipfailover_add_spec.rb +4 -5
  229. data/spec/chef/knife/ionoscloud_ipfailover_remove_spec.rb +7 -8
  230. data/spec/chef/knife/ionoscloud_k8s_create_spec.rb +0 -8
  231. data/spec/chef/knife/ionoscloud_k8s_delete_spec.rb +1 -7
  232. data/spec/chef/knife/ionoscloud_kubeconfig_get_spec.rb +2 -2
  233. data/spec/chef/knife/ionoscloud_label_add_spec.rb +10 -10
  234. data/spec/chef/knife/ionoscloud_label_list_spec.rb +14 -14
  235. data/spec/chef/knife/ionoscloud_label_remove_spec.rb +20 -20
  236. data/spec/chef/knife/ionoscloud_lan_create_spec.rb +3 -4
  237. data/spec/chef/knife/ionoscloud_lan_delete_spec.rb +5 -7
  238. data/spec/chef/knife/ionoscloud_lan_list_spec.rb +3 -5
  239. data/spec/chef/knife/ionoscloud_loadbalancer_create_spec.rb +3 -3
  240. data/spec/chef/knife/ionoscloud_loadbalancer_delete_spec.rb +5 -5
  241. data/spec/chef/knife/ionoscloud_loadbalancer_get_spec.rb +2 -2
  242. data/spec/chef/knife/ionoscloud_loadbalancer_list_spec.rb +2 -2
  243. data/spec/chef/knife/ionoscloud_loadbalancer_nic_add_spec.rb +6 -6
  244. data/spec/chef/knife/ionoscloud_loadbalancer_nic_remove_spec.rb +6 -6
  245. data/spec/chef/knife/ionoscloud_location_list_spec.rb +5 -3
  246. data/spec/chef/knife/ionoscloud_natgateway_create_spec.rb +77 -0
  247. data/spec/chef/knife/ionoscloud_natgateway_delete_spec.rb +118 -0
  248. data/spec/chef/knife/ionoscloud_natgateway_lan_add_spec.rb +143 -0
  249. data/spec/chef/knife/ionoscloud_natgateway_lan_remove_spec.rb +194 -0
  250. data/spec/chef/knife/ionoscloud_natgateway_list_spec.rb +79 -0
  251. data/spec/chef/knife/ionoscloud_natgateway_rule_add_spec.rb +98 -0
  252. data/spec/chef/knife/ionoscloud_natgateway_rule_list_spec.rb +92 -0
  253. data/spec/chef/knife/ionoscloud_natgateway_rule_remove_spec.rb +77 -0
  254. data/spec/chef/knife/ionoscloud_networkloadbalancer_create_spec.rb +80 -0
  255. data/spec/chef/knife/ionoscloud_networkloadbalancer_delete_spec.rb +119 -0
  256. data/spec/chef/knife/ionoscloud_networkloadbalancer_list_spec.rb +88 -0
  257. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_add_spec.rb +104 -0
  258. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_list_spec.rb +89 -0
  259. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_remove_spec.rb +124 -0
  260. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_add_spec.rb +109 -0
  261. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_list_spec.rb +85 -0
  262. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_remove_spec.rb +263 -0
  263. data/spec/chef/knife/ionoscloud_nic_create_spec.rb +9 -5
  264. data/spec/chef/knife/ionoscloud_nic_delete_spec.rb +8 -6
  265. data/spec/chef/knife/ionoscloud_nic_list_spec.rb +12 -6
  266. data/spec/chef/knife/ionoscloud_nodepool_create_spec.rb +20 -13
  267. data/spec/chef/knife/ionoscloud_nodepool_delete_spec.rb +13 -27
  268. data/spec/chef/knife/ionoscloud_nodepool_lan_add_spec.rb +226 -0
  269. data/spec/chef/knife/ionoscloud_nodepool_lan_remove.rb +199 -0
  270. data/spec/chef/knife/ionoscloud_nodepool_list_spec.rb +3 -1
  271. data/spec/chef/knife/ionoscloud_pcc_create_spec.rb +8 -11
  272. data/spec/chef/knife/ionoscloud_pcc_delete_spec.rb +6 -6
  273. data/spec/chef/knife/ionoscloud_pcc_list_spec.rb +2 -2
  274. data/spec/chef/knife/ionoscloud_request_list_spec.rb +24 -25
  275. data/spec/chef/knife/ionoscloud_request_status_spec.rb +3 -3
  276. data/spec/chef/knife/ionoscloud_s3key_create_spec.rb +2 -2
  277. data/spec/chef/knife/ionoscloud_s3key_delete_spec.rb +5 -5
  278. data/spec/chef/knife/ionoscloud_s3key_list_spec.rb +2 -2
  279. data/spec/chef/knife/ionoscloud_server_console_spec.rb +97 -0
  280. data/spec/chef/knife/ionoscloud_server_create_spec.rb +3 -3
  281. data/spec/chef/knife/ionoscloud_server_delete_spec.rb +5 -5
  282. data/spec/chef/knife/ionoscloud_server_list_spec.rb +63 -5
  283. data/spec/chef/knife/ionoscloud_server_reboot_spec.rb +3 -5
  284. data/spec/chef/knife/ionoscloud_server_resume_spec.rb +93 -0
  285. data/spec/chef/knife/ionoscloud_server_start_spec.rb +3 -5
  286. data/spec/chef/knife/ionoscloud_server_stop_spec.rb +3 -5
  287. data/spec/chef/knife/ionoscloud_server_suspend_spec.rb +93 -0
  288. data/spec/chef/knife/ionoscloud_server_token_spec.rb +97 -0
  289. data/spec/chef/knife/ionoscloud_server_upgrade_spec.rb +96 -0
  290. data/spec/chef/knife/ionoscloud_snapshot_create_spec.rb +3 -16
  291. data/spec/chef/knife/ionoscloud_snapshot_delete_spec.rb +5 -17
  292. data/spec/chef/knife/ionoscloud_snapshot_list_spec.rb +2 -2
  293. data/spec/chef/knife/ionoscloud_snapshot_restore_spec.rb +3 -3
  294. data/spec/chef/knife/ionoscloud_template_list_spec.rb +78 -0
  295. data/spec/chef/knife/ionoscloud_user_create_spec.rb +1 -3
  296. data/spec/chef/knife/ionoscloud_user_delete_spec.rb +2 -4
  297. data/spec/chef/knife/ionoscloud_user_ssourl_spec.rb +3 -3
  298. data/spec/chef/knife/ionoscloud_volume_attach_spec.rb +4 -4
  299. data/spec/chef/knife/ionoscloud_volume_create_spec.rb +6 -15
  300. data/spec/chef/knife/ionoscloud_volume_delete_spec.rb +5 -14
  301. data/spec/chef/knife/ionoscloud_volume_detach_spec.rb +5 -14
  302. data/spec/chef/knife/ionoscloud_volume_list_spec.rb +4 -4
  303. data/spec/spec_helper.rb +270 -116
  304. metadata +93 -138
  305. data/docs/subcommands/backupunit_get.md +0 -35
  306. data/docs/subcommands/backupunit_update.md +0 -41
  307. data/docs/subcommands/datacenter_get.md +0 -35
  308. data/docs/subcommands/datacenter_update.md +0 -44
  309. data/docs/subcommands/firewall_get.md +0 -47
  310. data/docs/subcommands/firewall_update.md +0 -71
  311. data/docs/subcommands/group_update.md +0 -65
  312. data/docs/subcommands/ipblock_get.md +0 -35
  313. data/docs/subcommands/ipblock_update.md +0 -38
  314. data/docs/subcommands/k8s_get.md +0 -35
  315. data/docs/subcommands/k8s_update.md +0 -53
  316. data/docs/subcommands/lan_get.md +0 -39
  317. data/docs/subcommands/lan_update.md +0 -51
  318. data/docs/subcommands/loadbalancer_update.md +0 -48
  319. data/docs/subcommands/nic_get.md +0 -43
  320. data/docs/subcommands/nic_update.md +0 -58
  321. data/docs/subcommands/node_get.md +0 -43
  322. data/docs/subcommands/nodepool_get.md +0 -39
  323. data/docs/subcommands/nodepool_update.md +0 -69
  324. data/docs/subcommands/pcc_get.md +0 -35
  325. data/docs/subcommands/pcc_update.md +0 -41
  326. data/docs/subcommands/request_get.md +0 -35
  327. data/docs/subcommands/s3key_get.md +0 -39
  328. data/docs/subcommands/server_get.md +0 -39
  329. data/docs/subcommands/server_update.md +0 -60
  330. data/docs/subcommands/share_get.md +0 -39
  331. data/docs/subcommands/share_update.md +0 -45
  332. data/docs/subcommands/snapshot_get.md +0 -35
  333. data/docs/subcommands/snapshot_update.md +0 -77
  334. data/docs/subcommands/user_get.md +0 -35
  335. data/docs/subcommands/user_update.md +0 -56
  336. data/docs/subcommands/volume_get.md +0 -39
  337. data/docs/subcommands/volume_update.md +0 -66
  338. data/lib/chef/knife/ionoscloud_backupunit_get.rb +0 -33
  339. data/lib/chef/knife/ionoscloud_backupunit_update.rb +0 -62
  340. data/lib/chef/knife/ionoscloud_datacenter_get.rb +0 -33
  341. data/lib/chef/knife/ionoscloud_datacenter_update.rb +0 -67
  342. data/lib/chef/knife/ionoscloud_firewall_get.rb +0 -50
  343. data/lib/chef/knife/ionoscloud_firewall_update.rb +0 -131
  344. data/lib/chef/knife/ionoscloud_group_update.rb +0 -114
  345. data/lib/chef/knife/ionoscloud_ipblock_get.rb +0 -33
  346. data/lib/chef/knife/ionoscloud_ipblock_update.rb +0 -57
  347. data/lib/chef/knife/ionoscloud_k8s_get.rb +0 -33
  348. data/lib/chef/knife/ionoscloud_k8s_update.rb +0 -99
  349. data/lib/chef/knife/ionoscloud_lan_get.rb +0 -38
  350. data/lib/chef/knife/ionoscloud_lan_update.rb +0 -87
  351. data/lib/chef/knife/ionoscloud_loadbalancer_update.rb +0 -73
  352. data/lib/chef/knife/ionoscloud_nic_get.rb +0 -47
  353. data/lib/chef/knife/ionoscloud_nic_update.rb +0 -93
  354. data/lib/chef/knife/ionoscloud_node_get.rb +0 -47
  355. data/lib/chef/knife/ionoscloud_nodepool_get.rb +0 -41
  356. data/lib/chef/knife/ionoscloud_nodepool_update.rb +0 -124
  357. data/lib/chef/knife/ionoscloud_pcc_get.rb +0 -33
  358. data/lib/chef/knife/ionoscloud_pcc_update.rb +0 -63
  359. data/lib/chef/knife/ionoscloud_request_get.rb +0 -40
  360. data/lib/chef/knife/ionoscloud_s3key_get.rb +0 -38
  361. data/lib/chef/knife/ionoscloud_server_update.rb +0 -97
  362. data/lib/chef/knife/ionoscloud_share_get.rb +0 -38
  363. data/lib/chef/knife/ionoscloud_share_update.rb +0 -70
  364. data/lib/chef/knife/ionoscloud_snapshot_get.rb +0 -32
  365. data/lib/chef/knife/ionoscloud_snapshot_update.rb +0 -126
  366. data/lib/chef/knife/ionoscloud_user_get.rb +0 -32
  367. data/lib/chef/knife/ionoscloud_user_update.rb +0 -92
  368. data/lib/chef/knife/ionoscloud_volume_get.rb +0 -36
  369. data/lib/chef/knife/ionoscloud_volume_update.rb +0 -106
  370. data/spec/chef/knife/ionoscloud_backupunit_get_spec.rb +0 -65
  371. data/spec/chef/knife/ionoscloud_backupunit_update_spec.rb +0 -78
  372. data/spec/chef/knife/ionoscloud_datacenter_get_spec.rb +0 -69
  373. data/spec/chef/knife/ionoscloud_datacenter_update_spec.rb +0 -82
  374. data/spec/chef/knife/ionoscloud_firewall_get_spec.rb +0 -76
  375. data/spec/chef/knife/ionoscloud_firewall_update_spec.rb +0 -116
  376. data/spec/chef/knife/ionoscloud_group_update_spec.rb +0 -109
  377. data/spec/chef/knife/ionoscloud_ipblock_get_spec.rb +0 -66
  378. data/spec/chef/knife/ionoscloud_ipblock_update_spec.rb +0 -79
  379. data/spec/chef/knife/ionoscloud_k8s_get_spec.rb +0 -73
  380. data/spec/chef/knife/ionoscloud_k8s_update_spec.rb +0 -115
  381. data/spec/chef/knife/ionoscloud_lan_get_spec.rb +0 -68
  382. data/spec/chef/knife/ionoscloud_lan_update_spec.rb +0 -91
  383. data/spec/chef/knife/ionoscloud_loadbalancer_update_spec.rb +0 -89
  384. data/spec/chef/knife/ionoscloud_nic_get_spec.rb +0 -70
  385. data/spec/chef/knife/ionoscloud_nic_update_spec.rb +0 -92
  386. data/spec/chef/knife/ionoscloud_node_get_spec.rb +0 -70
  387. data/spec/chef/knife/ionoscloud_nodepool_get_spec.rb +0 -83
  388. data/spec/chef/knife/ionoscloud_nodepool_update_spec.rb +0 -130
  389. data/spec/chef/knife/ionoscloud_pcc_get_spec.rb +0 -71
  390. data/spec/chef/knife/ionoscloud_pcc_update_spec.rb +0 -83
  391. data/spec/chef/knife/ionoscloud_request_get_spec.rb +0 -69
  392. data/spec/chef/knife/ionoscloud_s3key_get_spec.rb +0 -66
  393. data/spec/chef/knife/ionoscloud_server_get_spec.rb +0 -71
  394. data/spec/chef/knife/ionoscloud_server_update_spec.rb +0 -102
  395. data/spec/chef/knife/ionoscloud_share_get_spec.rb +0 -66
  396. data/spec/chef/knife/ionoscloud_share_update_spec.rb +0 -91
  397. data/spec/chef/knife/ionoscloud_snapshot_get_spec.rb +0 -79
  398. data/spec/chef/knife/ionoscloud_snapshot_update_spec.rb +0 -113
  399. data/spec/chef/knife/ionoscloud_user_get_spec.rb +0 -70
  400. data/spec/chef/knife/ionoscloud_user_update_spec.rb +0 -110
  401. data/spec/chef/knife/ionoscloud_volume_get_spec.rb +0 -80
  402. data/spec/chef/knife/ionoscloud_volume_update_spec.rb +0 -115
@@ -1,33 +0,0 @@
1
- require_relative 'ionoscloud_base'
2
-
3
- class Chef
4
- class Knife
5
- class IonoscloudIpblockGet < Knife
6
- include Knife::IonoscloudBase
7
-
8
- banner 'knife ionoscloud ipblock get (options)'
9
-
10
- option :ipblock_id,
11
- short: '-I IPBLOCK_ID',
12
- long: '--ipblock-id IPBLOCK_ID',
13
- description: 'ID of the IPBlock.'
14
-
15
- attr_reader :description, :required_options
16
-
17
- def initialize(args = [])
18
- super(args)
19
- @description =
20
- 'Retrieves information about an IP Block.'
21
- @required_options = [:ipblock_id, :ionoscloud_username, :ionoscloud_password]
22
- end
23
-
24
- def run
25
- $stdout.sync = true
26
- handle_extra_config
27
- validate_required_params(@required_options, config)
28
-
29
- print_ipblock(Ionoscloud::IPBlocksApi.new(api_client).ipblocks_find_by_id(config[:ipblock_id]))
30
- end
31
- end
32
- end
33
- end
@@ -1,57 +0,0 @@
1
- require_relative 'ionoscloud_base'
2
-
3
- class Chef
4
- class Knife
5
- class IonoscloudIpblockUpdate < Knife
6
- include Knife::IonoscloudBase
7
-
8
- banner 'knife ionoscloud ipblock update (options)'
9
-
10
- option :ipblock_id,
11
- short: '-I IPBLOCK_ID',
12
- long: '--ipblock-id IPBLOCK_ID',
13
- description: 'ID of the IPBlock.'
14
-
15
- option :name,
16
- short: '-n NAME',
17
- long: '--name NAME',
18
- description: 'Name of the IP block'
19
-
20
- attr_reader :description, :required_options
21
-
22
- def initialize(args = [])
23
- super(args)
24
- @description =
25
- 'Updates information about an IP Block.'
26
- @required_options = [:ipblock_id, :ionoscloud_username, :ionoscloud_password]
27
- @updatable_fields = [:name]
28
- end
29
-
30
- def run
31
- $stdout.sync = true
32
- handle_extra_config
33
- validate_required_params(@required_options, config)
34
-
35
- ipblock_api = Ionoscloud::IPBlocksApi.new(api_client)
36
-
37
- if @updatable_fields.map { |el| config[el] }.any?
38
- print "#{ui.color('Updating IP block...', :magenta)}"
39
-
40
- _, _, headers = ipblock_api.ipblocks_patch_with_http_info(
41
- config[:ipblock_id],
42
- Ionoscloud::IpBlockProperties.new(
43
- name: config[:name],
44
- ),
45
- )
46
-
47
- dot = ui.color('.', :magenta)
48
- api_client.wait_for { print dot; is_done? get_request_id headers }
49
- else
50
- ui.warn("Nothing to update, please set one of the attributes #{@updatable_fields}.")
51
- end
52
-
53
- print_ipblock(ipblock_api.ipblocks_find_by_id(config[:ipblock_id]))
54
- end
55
- end
56
- end
57
- end
@@ -1,33 +0,0 @@
1
- require_relative 'ionoscloud_base'
2
-
3
- class Chef
4
- class Knife
5
- class IonoscloudK8sGet < Knife
6
- include Knife::IonoscloudBase
7
-
8
- banner 'knife ionoscloud k8s get (options)'
9
-
10
- option :cluster_id,
11
- short: '-C CLUSTER_ID',
12
- long: '--cluster-id CLUSTER_ID',
13
- description: 'ID of the Kubernetes cluster'
14
-
15
- attr_reader :description, :required_options
16
-
17
- def initialize(args = [])
18
- super(args)
19
- @description =
20
- 'Retrieves information about a K8s Cluster.'
21
- @required_options = [:cluster_id, :ionoscloud_username, :ionoscloud_password]
22
- end
23
-
24
- def run
25
- $stdout.sync = true
26
- handle_extra_config
27
- validate_required_params(@required_options, config)
28
-
29
- print_k8s_cluster(Ionoscloud::KubernetesApi.new(api_client).k8s_find_by_cluster_id(config[:cluster_id]))
30
- end
31
- end
32
- end
33
- end
@@ -1,99 +0,0 @@
1
- require_relative 'ionoscloud_base'
2
-
3
- class Chef
4
- class Knife
5
- class IonoscloudK8sUpdate < Knife
6
- include Knife::IonoscloudBase
7
-
8
- banner 'knife ionoscloud k8s update (options)'
9
-
10
- option :cluster_id,
11
- short: '-C CLUSTER_ID',
12
- long: '--cluster-id CLUSTER_ID',
13
- description: 'ID of the Kubernetes cluster'
14
-
15
- option :name,
16
- short: '-n NAME',
17
- long: '--name NAME',
18
- description: 'Name of the server'
19
-
20
- option :version,
21
- short: '-v VERSION',
22
- long: '--version VERSION',
23
- description: 'The version for the Kubernetes cluster.'
24
-
25
- option :maintenance_day,
26
- long: '--maintenance-day MAINTENANCE_DAY',
27
- description: 'Day Of the week when to perform the maintenance.'
28
-
29
- option :maintenance_time,
30
- short: '-t MAINTENANCE_TIME',
31
- long: '--maintenance-time MAINTENANCE_TIME',
32
- description: 'Time Of the day when to perform the maintenance.'
33
-
34
- option :api_subnet_allow_list,
35
- long: '--subnets SUBNET[,SUBNET,...]',
36
- description: 'Access to the K8s API server is restricted to these CIDRs. Cluster-internal traffic is not affected by this '\
37
- 'restriction. If no allowlist is specified, access is not restricted. If an IP without subnet mask is provided, the default '\
38
- 'value will be used: 32 for IPv4 and 128 for IPv6.'
39
-
40
- option :s3_buckets,
41
- long: '--s3-buckets BUCKET[,BUCKET,...]',
42
- description: 'List of S3 bucket configured for K8s usage. For now it contains only one S3 bucket used to store K8s API audit logs.'
43
-
44
- attr_reader :description, :required_options
45
-
46
- def initialize(args = [])
47
- super(args)
48
- @description =
49
- 'Updates information about a Ionoscloud K8s Cluster.'
50
- @required_options = [:cluster_id, :ionoscloud_username, :ionoscloud_password]
51
- @updatable_fields = [
52
- :name, :version, :maintenance_day, :maintenance_time, :api_subnet_allow_list, :s3_buckets,
53
- ]
54
- end
55
-
56
- def run
57
- $stdout.sync = true
58
- handle_extra_config
59
- validate_required_params(@required_options, config)
60
-
61
- kubernetes_api = Ionoscloud::KubernetesApi.new(api_client)
62
-
63
- if @updatable_fields.map { |el| config[el] }.any?
64
- print "#{ui.color('Updating K8s Cluster...', :magenta)}"
65
-
66
- if config[:api_subnet_allow_list] && config[:api_subnet_allow_list].instance_of?(String)
67
- config[:api_subnet_allow_list] = config[:api_subnet_allow_list].split(',')
68
- end
69
- config[:s3_buckets] = config[:s3_buckets].split(',') if config[:s3_buckets] && config[:s3_buckets].instance_of?(String)
70
-
71
- if config.key?(:s3_buckets)
72
- config[:s3_buckets] = config[:s3_buckets].map { |el| Ionoscloud::S3Bucket.new(name: el) }
73
- end
74
-
75
- cluster = kubernetes_api.k8s_find_by_cluster_id(config[:cluster_id])
76
-
77
- new_cluster = Ionoscloud::KubernetesCluster.new(
78
- properties: Ionoscloud::KubernetesClusterPropertiesForPut.new(
79
- name: config.key?(:name) ? config[:name] : cluster.properties.name,
80
- k8s_version: config.key?(:version) ? config[:version] : cluster.properties.k8s_version,
81
- maintenance_window: Ionoscloud::KubernetesMaintenanceWindow.new(
82
- day_of_the_week: config.key?(:maintenance_day) ? config[:maintenance_day] : cluster.properties.maintenance_window.day_of_the_week,
83
- time: config.key?(:maintenance_time) ? config[:maintenance_time] : cluster.properties.maintenance_window.time,
84
- ),
85
- api_subnet_allow_list: config.key?(:api_subnet_allow_list) ? config[:api_subnet_allow_list] : cluster.properties.api_subnet_allow_list,
86
- s3_buckets: config.key?(:s3_buckets) ? config[:s3_buckets] : cluster.properties.s3_buckets,
87
- ),
88
- )
89
-
90
- kubernetes_api.k8s_put(config[:cluster_id], new_cluster)
91
- else
92
- ui.warn("Nothing to update, please set one of the attributes #{@updatable_fields}.")
93
- end
94
-
95
- print_k8s_cluster(kubernetes_api.k8s_find_by_cluster_id(config[:cluster_id]))
96
- end
97
- end
98
- end
99
- end
@@ -1,38 +0,0 @@
1
- require_relative 'ionoscloud_base'
2
-
3
- class Chef
4
- class Knife
5
- class IonoscloudLanGet < Knife
6
- include Knife::IonoscloudBase
7
-
8
- banner 'knife ionoscloud lan get (options)'
9
-
10
- option :datacenter_id,
11
- short: '-D DATACENTER_ID',
12
- long: '--datacenter-id DATACENTER_ID',
13
- description: 'ID of the data center'
14
-
15
- option :lan_id,
16
- short: '-L LAN_ID',
17
- long: '--lan-id LAN_ID',
18
- description: 'ID of the LAN'
19
-
20
- attr_reader :description, :required_options
21
-
22
- def initialize(args = [])
23
- super(args)
24
- @description =
25
- 'Retrieves information about a Ionoscloud LAN.'
26
- @required_options = [:datacenter_id, :lan_id, :ionoscloud_username, :ionoscloud_password]
27
- end
28
-
29
- def run
30
- $stdout.sync = true
31
- handle_extra_config
32
- validate_required_params(@required_options, config)
33
-
34
- print_lan(Ionoscloud::LanApi.new(api_client).datacenters_lans_find_by_id(config[:datacenter_id], config[:lan_id]))
35
- end
36
- end
37
- end
38
- end
@@ -1,87 +0,0 @@
1
- require_relative 'ionoscloud_base'
2
-
3
- class Chef
4
- class Knife
5
- class IonoscloudLanUpdate < Knife
6
- include Knife::IonoscloudBase
7
-
8
- banner 'knife ionoscloud lan update (options)'
9
-
10
- option :datacenter_id,
11
- short: '-D DATACENTER_ID',
12
- long: '--datacenter-id DATACENTER_ID',
13
- description: 'ID of the data center'
14
-
15
- option :lan_id,
16
- short: '-L LAN_ID',
17
- long: '--lan-id LAN_ID',
18
- description: 'ID of the LAN'
19
-
20
- option :name,
21
- short: '-n NAME',
22
- long: '--name NAME',
23
- description: 'Name of the server'
24
-
25
- option :public,
26
- short: '-p PUBLIC',
27
- long: '--public PUBLIC',
28
- boolean: true,
29
- description: 'Boolean indicating if the LAN faces the public ' \
30
- 'Internet or not; defaults to false'
31
-
32
- option :pcc,
33
- long: '--pcc PCC_ID',
34
- description: 'ID of the PCC to connect the LAN to'
35
-
36
- option :ip_failover,
37
- long: '--ip-failover IPFAILOVER [IPFAILOVER]',
38
- description: 'IP failover configurations for lan'
39
-
40
- attr_reader :description, :required_options
41
-
42
- def initialize(args = [])
43
- super(args)
44
- @description =
45
- 'Updates information about a Ionoscloud LAN.'
46
- @required_options = [:datacenter_id, :lan_id, :ionoscloud_username, :ionoscloud_password]
47
- @updatable_fields = [:name, :public, :pcc, :description, :ip_failover]
48
- end
49
-
50
- def run
51
- $stdout.sync = true
52
- handle_extra_config
53
- validate_required_params(@required_options, config)
54
-
55
- lan_api = Ionoscloud::LanApi.new(api_client)
56
-
57
- if @updatable_fields.map { |el| config[el] }.any?
58
-
59
- unless config[:ip_failover].nil?
60
- config[:ip_failover] = JSON[config[:ip_failover]] if config[:ip_failover].instance_of?(String)
61
- config[:ip_failover].map! { |ip_failover| Ionoscloud::IPFailover.new(ip_failover) }
62
- end
63
-
64
- print "#{ui.color('Updating LAN...', :magenta)}"
65
-
66
- _, _, headers = lan_api.datacenters_lans_patch_with_http_info(
67
- config[:datacenter_id],
68
- config[:lan_id],
69
- Ionoscloud::LanProperties.new(
70
- name: config[:name],
71
- public: (config.key?(:public) ? config[:public].to_s.downcase == 'true' : nil),
72
- pcc: config[:pcc],
73
- ip_failover: config[:ip_failover],
74
- ),
75
- )
76
-
77
- dot = ui.color('.', :magenta)
78
- api_client.wait_for { print dot; is_done? get_request_id headers }
79
- else
80
- ui.warn("Nothing to update, please set one of the attributes #{@updatable_fields}.")
81
- end
82
-
83
- print_lan(lan_api.datacenters_lans_find_by_id(config[:datacenter_id], config[:lan_id]))
84
- end
85
- end
86
- end
87
- end
@@ -1,73 +0,0 @@
1
- require_relative 'ionoscloud_base'
2
-
3
- class Chef
4
- class Knife
5
- class IonoscloudLoadbalancerUpdate < Knife
6
- include Knife::IonoscloudBase
7
-
8
- banner 'knife ionoscloud loadbalancer update (options)'
9
-
10
- option :datacenter_id,
11
- short: '-D DATACENTER_ID',
12
- long: '--datacenter-id DATACENTER_ID',
13
- description: 'ID of the data center'
14
-
15
- option :loadbalancer_id,
16
- short: '-L LOADBALANCER_ID',
17
- long: '--loadbalancer-id LOADBALANCER_ID',
18
- description: 'ID of the load balancer'
19
-
20
- option :name,
21
- short: '-n NAME',
22
- long: '--name NAME',
23
- description: 'Name of the load balancer'
24
-
25
- option :ip,
26
- long: '--ip IP',
27
- description: 'IPv4 address of the load balancer. All attached NICs will inherit this IP.'
28
-
29
- option :dhcp,
30
- long: '--dhcp DHCP',
31
- description: 'Indicates if the load balancer will reserve an IP using DHCP.'
32
-
33
- attr_reader :description, :required_options
34
-
35
- def initialize(args = [])
36
- super(args)
37
- @description =
38
- 'Updates information about a Ionoscloud Load Balancer.'
39
- @required_options = [:datacenter_id, :loadbalancer_id, :ionoscloud_username, :ionoscloud_password]
40
- @updatable_fields = [:name, :ip, :dhcp]
41
- end
42
-
43
- def run
44
- $stdout.sync = true
45
- handle_extra_config
46
- validate_required_params(@required_options, config)
47
-
48
- load_balancer_api = Ionoscloud::LoadBalancerApi.new(api_client)
49
-
50
- if @updatable_fields.map { |el| config[el] }.any?
51
- print "#{ui.color('Updating Load Balancer...', :magenta)}"
52
-
53
- _, _, headers = load_balancer_api.datacenters_loadbalancers_patch_with_http_info(
54
- config[:datacenter_id],
55
- config[:loadbalancer_id],
56
- Ionoscloud::LoadbalancerProperties.new(
57
- name: config[:name],
58
- dhcp: (config.key?(:dhcp) ? config[:dhcp].to_s.downcase == 'true' : nil),
59
- ip: config[:ip],
60
- ),
61
- )
62
-
63
- dot = ui.color('.', :magenta)
64
- api_client.wait_for { print dot; is_done? get_request_id headers }
65
- else
66
- ui.warn("Nothing to update, please set one of the attributes #{@updatable_fields}.")
67
- end
68
-
69
- print_load_balancer(load_balancer_api.datacenters_loadbalancers_find_by_id(config[:datacenter_id], config[:loadbalancer_id]))
70
- end
71
- end
72
- end
73
- end
@@ -1,47 +0,0 @@
1
- require_relative 'ionoscloud_base'
2
-
3
- class Chef
4
- class Knife
5
- class IonoscloudNicGet < Knife
6
- include Knife::IonoscloudBase
7
-
8
- banner 'knife ionoscloud nic get (options)'
9
-
10
- option :datacenter_id,
11
- short: '-D DATACENTER_ID',
12
- long: '--datacenter-id DATACENTER_ID',
13
- description: 'ID of the data center'
14
-
15
- option :server_id,
16
- short: '-S SERVER_ID',
17
- long: '--server-id SERVER_ID',
18
- description: 'The ID of the server to which the NIC is assigned'
19
-
20
- option :nic_id,
21
- short: '-N NIC_ID',
22
- long: '--nic-id NIC_ID',
23
- description: 'ID of the load balancer'
24
-
25
- attr_reader :description, :required_options
26
-
27
- def initialize(args = [])
28
- super(args)
29
- @description =
30
- 'Retrieves the attributes of a given NIC.'
31
- @required_options = [:datacenter_id, :server_id, :nic_id, :ionoscloud_username, :ionoscloud_password]
32
- end
33
-
34
- def run
35
- $stdout.sync = true
36
- handle_extra_config
37
- validate_required_params(@required_options, config)
38
-
39
- print_nic(Ionoscloud::NicApi.new(api_client).datacenters_servers_nics_find_by_id(
40
- config[:datacenter_id],
41
- config[:server_id],
42
- config[:nic_id],
43
- ))
44
- end
45
- end
46
- end
47
- end
@@ -1,93 +0,0 @@
1
- require_relative 'ionoscloud_base'
2
-
3
- class Chef
4
- class Knife
5
- class IonoscloudNicUpdate < Knife
6
- include Knife::IonoscloudBase
7
-
8
- banner 'knife ionoscloud nic update (options)'
9
-
10
- option :datacenter_id,
11
- short: '-D DATACENTER_ID',
12
- long: '--datacenter-id DATACENTER_ID',
13
- description: 'ID of the data center'
14
-
15
- option :server_id,
16
- short: '-S SERVER_ID',
17
- long: '--server-id SERVER_ID',
18
- description: 'The ID of the server to which the NIC is assigned'
19
-
20
- option :nic_id,
21
- short: '-N NIC_ID',
22
- long: '--nic-id NIC_ID',
23
- description: 'ID of the load balancer'
24
-
25
- option :name,
26
- short: '-n NAME',
27
- long: '--name NAME',
28
- description: 'Name of the NIC'
29
-
30
- option :ips,
31
- short: '-i IP[,IP,...]',
32
- long: '--ips IP[,IP,...]',
33
- description: 'IPs assigned to the NIC'
34
-
35
- option :dhcp,
36
- long: '--dhcp DHCP',
37
- description: 'Set to false if you wish to disable DHCP'
38
-
39
- option :lan,
40
- short: '-l ID',
41
- long: '--lan ID',
42
- description: 'The LAN ID the NIC will reside on; if the LAN ID does not exist it will be created'
43
-
44
- option :nat,
45
- long: '--nat NAT',
46
- description: 'Set to enable NAT on the NIC'
47
-
48
- attr_reader :description, :required_options
49
-
50
- def initialize(args = [])
51
- super(args)
52
- @description =
53
- 'Updates information about a Ionoscloud NIC.'
54
- @required_options = [:datacenter_id, :server_id, :nic_id, :ionoscloud_username, :ionoscloud_password]
55
- @updatable_fields = [:name, :ips, :dhcp, :lan, :nat]
56
- end
57
-
58
- def run
59
- $stdout.sync = true
60
- handle_extra_config
61
- validate_required_params(@required_options, config)
62
-
63
- config[:ips] = config[:ips].split(',') if config[:ips] && config[:ips].instance_of?(String)
64
-
65
- nic_api = Ionoscloud::NicApi.new(api_client)
66
-
67
- if @updatable_fields.map { |el| config[el] }.any?
68
- print "#{ui.color('Updating NIC...', :magenta)}"
69
-
70
- _, _, headers = nic_api.datacenters_servers_nics_patch_with_http_info(
71
- config[:datacenter_id],
72
- config[:server_id],
73
- config[:nic_id],
74
- Ionoscloud::NicProperties.new(
75
- name: config[:name],
76
- ips: config[:ips],
77
- dhcp: (config.key?(:dhcp) ? config[:dhcp].to_s.downcase == 'true' : nil),
78
- lan: config[:lan],
79
- nat: (config.key?(:nat) ? config[:nat].to_s.downcase == 'true' : nil),
80
- ),
81
- )
82
-
83
- dot = ui.color('.', :magenta)
84
- api_client.wait_for { print dot; is_done? get_request_id headers }
85
- else
86
- ui.warn("Nothing to update, please set one of the attributes #{@updatable_fields}.")
87
- end
88
-
89
- print_nic(nic_api.datacenters_servers_nics_find_by_id(config[:datacenter_id], config[:server_id], config[:nic_id]))
90
- end
91
- end
92
- end
93
- end
@@ -1,47 +0,0 @@
1
- require_relative 'ionoscloud_base'
2
-
3
- class Chef
4
- class Knife
5
- class IonoscloudNodeGet < Knife
6
- include Knife::IonoscloudBase
7
-
8
- banner 'knife ionoscloud node get (options)'
9
-
10
- option :cluster_id,
11
- short: '-C CLUSTER_ID',
12
- long: '--cluster-id CLUSTER_ID',
13
- description: 'The ID of the K8s Cluster'
14
-
15
- option :nodepool_id,
16
- short: '-P NODEPOOL_ID',
17
- long: '--nodepool-id NODEPOOL_ID',
18
- description: 'The ID of the K8s Nodepool'
19
-
20
- option :node_id,
21
- short: '-N NODE_ID',
22
- long: '--node-id NODE_ID',
23
- description: 'ID of the load balancer'
24
-
25
- attr_reader :description, :required_options
26
-
27
- def initialize(args = [])
28
- super(args)
29
- @description =
30
- 'Retrieves the attributes of a given K8S Node.'
31
- @required_options = [:cluster_id, :nodepool_id, :node_id, :ionoscloud_username, :ionoscloud_password]
32
- end
33
-
34
- def run
35
- $stdout.sync = true
36
- handle_extra_config
37
- validate_required_params(@required_options, config)
38
-
39
- print_k8s_node(Ionoscloud::KubernetesApi.new(api_client).k8s_nodepools_nodes_find_by_id(
40
- config[:cluster_id],
41
- config[:nodepool_id],
42
- config[:node_id],
43
- ))
44
- end
45
- end
46
- end
47
- end
@@ -1,41 +0,0 @@
1
- require_relative 'ionoscloud_base'
2
-
3
- class Chef
4
- class Knife
5
- class IonoscloudNodepoolGet < Knife
6
- include Knife::IonoscloudBase
7
-
8
- banner 'knife ionoscloud nodepool get (options)'
9
-
10
- option :cluster_id,
11
- short: '-C CLUSTER_ID',
12
- long: '--cluster-id CLUSTER_ID',
13
- description: 'The ID of the K8s Cluster'
14
-
15
- option :nodepool_id,
16
- short: '-P NODEPOOL_ID',
17
- long: '--nodepool-id NODEPOOL_ID',
18
- description: 'The ID of the K8s Nodepool'
19
-
20
- attr_reader :description, :required_options
21
-
22
- def initialize(args = [])
23
- super(args)
24
- @description =
25
- 'Retrieves the attributes of a given K8S Nodepool.'
26
- @required_options = [:cluster_id, :nodepool_id, :ionoscloud_username, :ionoscloud_password]
27
- end
28
-
29
- def run
30
- $stdout.sync = true
31
- handle_extra_config
32
- validate_required_params(@required_options, config)
33
-
34
- print_k8s_nodepool(Ionoscloud::KubernetesApi.new(api_client).k8s_nodepools_find_by_id(
35
- config[:cluster_id],
36
- config[:nodepool_id],
37
- ))
38
- end
39
- end
40
- end
41
- end