knife-ionoscloud 5.0.0.beta.1 → 5.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (313) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +20 -0
  3. data/.github/workflows/ci.yml +4 -4
  4. data/.github/workflows/publish.yml +28 -14
  5. data/.rubocop.yml +0 -1
  6. data/README.md +81 -0
  7. data/docs/README.md +52 -18
  8. data/docs/changelog.md +2 -1
  9. data/docs/docs_generator.rb +2 -2
  10. data/docs/subcommands/backupunit_create.md +14 -9
  11. data/docs/subcommands/backupunit_delete.md +13 -8
  12. data/docs/subcommands/backupunit_get.md +35 -0
  13. data/docs/subcommands/backupunit_list.md +13 -8
  14. data/docs/subcommands/backupunit_ssourl.md +15 -10
  15. data/docs/subcommands/backupunit_update.md +41 -0
  16. data/docs/subcommands/composite_server_create.md +14 -9
  17. data/docs/subcommands/contract_list.md +13 -8
  18. data/docs/subcommands/datacenter_create.md +16 -9
  19. data/docs/subcommands/datacenter_delete.md +13 -8
  20. data/docs/subcommands/datacenter_get.md +35 -0
  21. data/docs/subcommands/datacenter_list.md +13 -8
  22. data/docs/subcommands/datacenter_update.md +44 -0
  23. data/docs/subcommands/firewall_create.md +17 -12
  24. data/docs/subcommands/firewall_delete.md +16 -11
  25. data/docs/subcommands/firewall_get.md +47 -0
  26. data/docs/subcommands/firewall_list.md +16 -11
  27. data/docs/subcommands/firewall_update.md +71 -0
  28. data/docs/subcommands/group_create.md +22 -8
  29. data/docs/subcommands/group_delete.md +13 -8
  30. data/docs/subcommands/group_get.md +14 -9
  31. data/docs/subcommands/group_list.md +13 -8
  32. data/docs/subcommands/group_update.md +65 -0
  33. data/docs/subcommands/group_user_add.md +14 -9
  34. data/docs/subcommands/group_user_remove.md +14 -9
  35. data/docs/subcommands/image_list.md +13 -8
  36. data/docs/subcommands/ipblock_create.md +14 -9
  37. data/docs/subcommands/ipblock_delete.md +13 -8
  38. data/docs/subcommands/ipblock_get.md +35 -0
  39. data/docs/subcommands/ipblock_list.md +13 -8
  40. data/docs/subcommands/ipblock_update.md +38 -0
  41. data/docs/subcommands/ipfailover_add.md +16 -11
  42. data/docs/subcommands/ipfailover_remove.md +16 -11
  43. data/docs/subcommands/k8s_create.md +23 -9
  44. data/docs/subcommands/k8s_delete.md +13 -8
  45. data/docs/subcommands/k8s_get.md +35 -0
  46. data/docs/subcommands/k8s_list.md +13 -8
  47. data/docs/subcommands/k8s_update.md +53 -0
  48. data/docs/subcommands/kubeconfig_get.md +14 -9
  49. data/docs/subcommands/label_add.md +14 -9
  50. data/docs/subcommands/label_list.md +13 -8
  51. data/docs/subcommands/label_remove.md +14 -9
  52. data/docs/subcommands/lan_create.md +17 -9
  53. data/docs/subcommands/lan_delete.md +14 -9
  54. data/docs/subcommands/lan_get.md +39 -0
  55. data/docs/subcommands/lan_list.md +14 -9
  56. data/docs/subcommands/lan_update.md +51 -0
  57. data/docs/subcommands/loadbalancer_create.md +15 -10
  58. data/docs/subcommands/loadbalancer_delete.md +14 -9
  59. data/docs/subcommands/loadbalancer_get.md +15 -10
  60. data/docs/subcommands/loadbalancer_list.md +14 -9
  61. data/docs/subcommands/loadbalancer_nic_add.md +15 -10
  62. data/docs/subcommands/loadbalancer_nic_remove.md +15 -10
  63. data/docs/subcommands/loadbalancer_update.md +48 -0
  64. data/docs/subcommands/location_list.md +13 -8
  65. data/docs/subcommands/nic_create.md +18 -14
  66. data/docs/subcommands/nic_delete.md +16 -11
  67. data/docs/subcommands/nic_get.md +43 -0
  68. data/docs/subcommands/nic_list.md +15 -10
  69. data/docs/subcommands/nic_update.md +58 -0
  70. data/docs/subcommands/node_delete.md +15 -10
  71. data/docs/subcommands/node_get.md +43 -0
  72. data/docs/subcommands/node_list.md +15 -10
  73. data/docs/subcommands/node_replace.md +16 -11
  74. data/docs/subcommands/nodepool_create.md +34 -20
  75. data/docs/subcommands/nodepool_delete.md +14 -9
  76. data/docs/subcommands/nodepool_get.md +39 -0
  77. data/docs/subcommands/nodepool_list.md +14 -9
  78. data/docs/subcommands/nodepool_update.md +69 -0
  79. data/docs/subcommands/pcc_create.md +14 -12
  80. data/docs/subcommands/pcc_delete.md +13 -8
  81. data/docs/subcommands/pcc_get.md +35 -0
  82. data/docs/subcommands/pcc_list.md +13 -8
  83. data/docs/subcommands/pcc_update.md +41 -0
  84. data/docs/subcommands/request_get.md +35 -0
  85. data/docs/subcommands/request_list.md +21 -10
  86. data/docs/subcommands/request_status.md +14 -9
  87. data/docs/subcommands/request_wait.md +14 -9
  88. data/docs/subcommands/resource_list.md +13 -8
  89. data/docs/subcommands/s3key_create.md +14 -9
  90. data/docs/subcommands/s3key_delete.md +14 -9
  91. data/docs/subcommands/s3key_get.md +39 -0
  92. data/docs/subcommands/s3key_list.md +14 -9
  93. data/docs/subcommands/server_create.md +15 -10
  94. data/docs/subcommands/server_delete.md +15 -10
  95. data/docs/subcommands/server_get.md +39 -0
  96. data/docs/subcommands/server_list.md +14 -9
  97. data/docs/subcommands/server_reboot.md +14 -9
  98. data/docs/subcommands/server_start.md +15 -10
  99. data/docs/subcommands/server_stop.md +14 -9
  100. data/docs/subcommands/server_update.md +60 -0
  101. data/docs/subcommands/share_create.md +16 -11
  102. data/docs/subcommands/share_delete.md +14 -9
  103. data/docs/subcommands/share_get.md +39 -0
  104. data/docs/subcommands/share_list.md +14 -9
  105. data/docs/subcommands/share_update.md +45 -0
  106. data/docs/subcommands/snapshot_create.md +27 -10
  107. data/docs/subcommands/snapshot_delete.md +13 -8
  108. data/docs/subcommands/snapshot_get.md +35 -0
  109. data/docs/subcommands/snapshot_list.md +13 -8
  110. data/docs/subcommands/snapshot_restore.md +16 -11
  111. data/docs/subcommands/snapshot_update.md +77 -0
  112. data/docs/subcommands/user_create.md +22 -12
  113. data/docs/subcommands/user_delete.md +13 -8
  114. data/docs/subcommands/user_get.md +35 -0
  115. data/docs/subcommands/user_list.md +14 -9
  116. data/docs/subcommands/user_ssourl.md +14 -9
  117. data/docs/subcommands/user_update.md +56 -0
  118. data/docs/subcommands/volume_attach.md +15 -10
  119. data/docs/subcommands/volume_create.md +38 -9
  120. data/docs/subcommands/volume_delete.md +14 -9
  121. data/docs/subcommands/volume_detach.md +15 -10
  122. data/docs/subcommands/volume_get.md +39 -0
  123. data/docs/subcommands/volume_list.md +14 -9
  124. data/docs/subcommands/volume_update.md +66 -0
  125. data/docs/summary.md +33 -0
  126. data/docs/templates/subcommand_doc.mustache +9 -7
  127. data/git-versioning.sh +113 -0
  128. data/lib/chef/knife/ionoscloud_backupunit_create.rb +11 -15
  129. data/lib/chef/knife/ionoscloud_backupunit_delete.rb +2 -4
  130. data/lib/chef/knife/ionoscloud_backupunit_get.rb +33 -0
  131. data/lib/chef/knife/ionoscloud_backupunit_list.rb +1 -0
  132. data/lib/chef/knife/ionoscloud_backupunit_ssourl.rb +2 -1
  133. data/lib/chef/knife/ionoscloud_backupunit_update.rb +62 -0
  134. data/lib/chef/knife/ionoscloud_base.rb +258 -5
  135. data/lib/chef/knife/ionoscloud_composite_server_create.rb +4 -31
  136. data/lib/chef/knife/ionoscloud_contract_list.rb +1 -0
  137. data/lib/chef/knife/ionoscloud_datacenter_create.rb +12 -14
  138. data/lib/chef/knife/ionoscloud_datacenter_delete.rb +2 -7
  139. data/lib/chef/knife/ionoscloud_datacenter_get.rb +33 -0
  140. data/lib/chef/knife/ionoscloud_datacenter_list.rb +4 -1
  141. data/lib/chef/knife/ionoscloud_datacenter_update.rb +67 -0
  142. data/lib/chef/knife/ionoscloud_firewall_create.rb +3 -13
  143. data/lib/chef/knife/ionoscloud_firewall_delete.rb +3 -10
  144. data/lib/chef/knife/ionoscloud_firewall_get.rb +50 -0
  145. data/lib/chef/knife/ionoscloud_firewall_list.rb +1 -0
  146. data/lib/chef/knife/ionoscloud_firewall_update.rb +131 -0
  147. data/lib/chef/knife/ionoscloud_group_create.rb +30 -21
  148. data/lib/chef/knife/ionoscloud_group_delete.rb +2 -11
  149. data/lib/chef/knife/ionoscloud_group_get.rb +2 -11
  150. data/lib/chef/knife/ionoscloud_group_list.rb +14 -7
  151. data/lib/chef/knife/ionoscloud_group_update.rb +114 -0
  152. data/lib/chef/knife/ionoscloud_group_user_add.rb +2 -13
  153. data/lib/chef/knife/ionoscloud_group_user_remove.rb +2 -13
  154. data/lib/chef/knife/ionoscloud_image_list.rb +4 -3
  155. data/lib/chef/knife/ionoscloud_ipblock_create.rb +12 -14
  156. data/lib/chef/knife/ionoscloud_ipblock_delete.rb +3 -4
  157. data/lib/chef/knife/ionoscloud_ipblock_get.rb +33 -0
  158. data/lib/chef/knife/ionoscloud_ipblock_list.rb +4 -1
  159. data/lib/chef/knife/ionoscloud_ipblock_update.rb +57 -0
  160. data/lib/chef/knife/ionoscloud_ipfailover_add.rb +8 -14
  161. data/lib/chef/knife/ionoscloud_ipfailover_remove.rb +2 -8
  162. data/lib/chef/knife/ionoscloud_k8s_create.rb +34 -18
  163. data/lib/chef/knife/ionoscloud_k8s_delete.rb +7 -11
  164. data/lib/chef/knife/ionoscloud_k8s_get.rb +33 -0
  165. data/lib/chef/knife/ionoscloud_k8s_list.rb +1 -0
  166. data/lib/chef/knife/ionoscloud_k8s_update.rb +99 -0
  167. data/lib/chef/knife/ionoscloud_kubeconfig_get.rb +1 -0
  168. data/lib/chef/knife/ionoscloud_label_add.rb +1 -0
  169. data/lib/chef/knife/ionoscloud_label_list.rb +1 -0
  170. data/lib/chef/knife/ionoscloud_label_remove.rb +1 -0
  171. data/lib/chef/knife/ionoscloud_lan_create.rb +11 -12
  172. data/lib/chef/knife/ionoscloud_lan_delete.rb +3 -3
  173. data/lib/chef/knife/ionoscloud_lan_get.rb +38 -0
  174. data/lib/chef/knife/ionoscloud_lan_list.rb +6 -1
  175. data/lib/chef/knife/ionoscloud_lan_update.rb +87 -0
  176. data/lib/chef/knife/ionoscloud_loadbalancer_create.rb +6 -15
  177. data/lib/chef/knife/ionoscloud_loadbalancer_delete.rb +2 -9
  178. data/lib/chef/knife/ionoscloud_loadbalancer_get.rb +4 -13
  179. data/lib/chef/knife/ionoscloud_loadbalancer_list.rb +1 -0
  180. data/lib/chef/knife/ionoscloud_loadbalancer_nic_add.rb +4 -13
  181. data/lib/chef/knife/ionoscloud_loadbalancer_nic_remove.rb +4 -13
  182. data/lib/chef/knife/ionoscloud_loadbalancer_update.rb +73 -0
  183. data/lib/chef/knife/ionoscloud_location_list.rb +1 -0
  184. data/lib/chef/knife/ionoscloud_nic_create.rb +17 -32
  185. data/lib/chef/knife/ionoscloud_nic_delete.rb +4 -8
  186. data/lib/chef/knife/ionoscloud_nic_get.rb +47 -0
  187. data/lib/chef/knife/ionoscloud_nic_list.rb +1 -0
  188. data/lib/chef/knife/ionoscloud_nic_update.rb +93 -0
  189. data/lib/chef/knife/ionoscloud_node_delete.rb +2 -6
  190. data/lib/chef/knife/ionoscloud_node_get.rb +47 -0
  191. data/lib/chef/knife/ionoscloud_node_list.rb +4 -1
  192. data/lib/chef/knife/ionoscloud_node_replace.rb +1 -0
  193. data/lib/chef/knife/ionoscloud_nodepool_create.rb +55 -51
  194. data/lib/chef/knife/ionoscloud_nodepool_delete.rb +2 -7
  195. data/lib/chef/knife/ionoscloud_nodepool_get.rb +41 -0
  196. data/lib/chef/knife/ionoscloud_nodepool_list.rb +1 -0
  197. data/lib/chef/knife/ionoscloud_nodepool_update.rb +124 -0
  198. data/lib/chef/knife/ionoscloud_pcc_create.rb +42 -20
  199. data/lib/chef/knife/ionoscloud_pcc_delete.rb +2 -9
  200. data/lib/chef/knife/ionoscloud_pcc_get.rb +33 -0
  201. data/lib/chef/knife/ionoscloud_pcc_list.rb +1 -0
  202. data/lib/chef/knife/ionoscloud_pcc_update.rb +63 -0
  203. data/lib/chef/knife/ionoscloud_request_get.rb +40 -0
  204. data/lib/chef/knife/ionoscloud_request_list.rb +25 -11
  205. data/lib/chef/knife/ionoscloud_request_status.rb +1 -0
  206. data/lib/chef/knife/ionoscloud_request_wait.rb +1 -0
  207. data/lib/chef/knife/ionoscloud_resource_list.rb +1 -0
  208. data/lib/chef/knife/ionoscloud_s3key_create.rb +2 -5
  209. data/lib/chef/knife/ionoscloud_s3key_delete.rb +2 -4
  210. data/lib/chef/knife/ionoscloud_s3key_get.rb +38 -0
  211. data/lib/chef/knife/ionoscloud_s3key_list.rb +1 -0
  212. data/lib/chef/knife/ionoscloud_server_create.rb +14 -25
  213. data/lib/chef/knife/ionoscloud_server_delete.rb +3 -10
  214. data/lib/chef/knife/ionoscloud_server_get.rb +41 -0
  215. data/lib/chef/knife/ionoscloud_server_list.rb +3 -2
  216. data/lib/chef/knife/ionoscloud_server_reboot.rb +1 -0
  217. data/lib/chef/knife/ionoscloud_server_start.rb +1 -0
  218. data/lib/chef/knife/ionoscloud_server_stop.rb +1 -0
  219. data/lib/chef/knife/ionoscloud_server_update.rb +97 -0
  220. data/lib/chef/knife/ionoscloud_share_create.rb +8 -12
  221. data/lib/chef/knife/ionoscloud_share_delete.rb +3 -4
  222. data/lib/chef/knife/ionoscloud_share_get.rb +38 -0
  223. data/lib/chef/knife/ionoscloud_share_list.rb +1 -0
  224. data/lib/chef/knife/ionoscloud_share_update.rb +70 -0
  225. data/lib/chef/knife/ionoscloud_snapshot_create.rb +26 -9
  226. data/lib/chef/knife/ionoscloud_snapshot_delete.rb +2 -6
  227. data/lib/chef/knife/ionoscloud_snapshot_get.rb +32 -0
  228. data/lib/chef/knife/ionoscloud_snapshot_list.rb +1 -0
  229. data/lib/chef/knife/ionoscloud_snapshot_restore.rb +1 -0
  230. data/lib/chef/knife/ionoscloud_snapshot_update.rb +126 -0
  231. data/lib/chef/knife/ionoscloud_user_create.rb +28 -23
  232. data/lib/chef/knife/ionoscloud_user_delete.rb +2 -7
  233. data/lib/chef/knife/ionoscloud_user_get.rb +32 -0
  234. data/lib/chef/knife/ionoscloud_user_list.rb +2 -1
  235. data/lib/chef/knife/ionoscloud_user_ssourl.rb +1 -0
  236. data/lib/chef/knife/ionoscloud_user_update.rb +92 -0
  237. data/lib/chef/knife/ionoscloud_volume_attach.rb +1 -0
  238. data/lib/chef/knife/ionoscloud_volume_create.rb +62 -38
  239. data/lib/chef/knife/ionoscloud_volume_delete.rb +2 -8
  240. data/lib/chef/knife/ionoscloud_volume_detach.rb +2 -8
  241. data/lib/chef/knife/ionoscloud_volume_get.rb +36 -0
  242. data/lib/chef/knife/ionoscloud_volume_list.rb +2 -1
  243. data/lib/chef/knife/ionoscloud_volume_update.rb +106 -0
  244. data/lib/knife-ionoscloud/version.rb +1 -1
  245. data/sonar-project.properties +12 -0
  246. data/spec/chef/knife/ionoscloud_backupunit_get_spec.rb +65 -0
  247. data/spec/chef/knife/ionoscloud_backupunit_update_spec.rb +78 -0
  248. data/spec/chef/knife/ionoscloud_datacenter_create_spec.rb +10 -0
  249. data/spec/chef/knife/ionoscloud_datacenter_delete_spec.rb +3 -0
  250. data/spec/chef/knife/ionoscloud_datacenter_get_spec.rb +69 -0
  251. data/spec/chef/knife/ionoscloud_datacenter_list_spec.rb +3 -1
  252. data/spec/chef/knife/ionoscloud_datacenter_update_spec.rb +82 -0
  253. data/spec/chef/knife/ionoscloud_firewall_get_spec.rb +76 -0
  254. data/spec/chef/knife/ionoscloud_firewall_update_spec.rb +116 -0
  255. data/spec/chef/knife/ionoscloud_group_create_spec.rb +13 -0
  256. data/spec/chef/knife/ionoscloud_group_delete_spec.rb +3 -0
  257. data/spec/chef/knife/ionoscloud_group_get_spec.rb +3 -0
  258. data/spec/chef/knife/ionoscloud_group_list_spec.rb +17 -8
  259. data/spec/chef/knife/ionoscloud_group_update_spec.rb +109 -0
  260. data/spec/chef/knife/ionoscloud_group_user_add_spec.rb +3 -0
  261. data/spec/chef/knife/ionoscloud_group_user_remove_spec.rb +3 -0
  262. data/spec/chef/knife/ionoscloud_image_list_spec.rb +2 -2
  263. data/spec/chef/knife/ionoscloud_ipblock_delete_spec.rb +2 -0
  264. data/spec/chef/knife/ionoscloud_ipblock_get_spec.rb +66 -0
  265. data/spec/chef/knife/ionoscloud_ipblock_list_spec.rb +3 -1
  266. data/spec/chef/knife/ionoscloud_ipblock_update_spec.rb +79 -0
  267. data/spec/chef/knife/ionoscloud_ipfailover_add_spec.rb +2 -1
  268. data/spec/chef/knife/ionoscloud_ipfailover_remove_spec.rb +4 -3
  269. data/spec/chef/knife/ionoscloud_k8s_create_spec.rb +8 -0
  270. data/spec/chef/knife/ionoscloud_k8s_delete_spec.rb +12 -3
  271. data/spec/chef/knife/ionoscloud_k8s_get_spec.rb +73 -0
  272. data/spec/chef/knife/ionoscloud_k8s_update_spec.rb +115 -0
  273. data/spec/chef/knife/ionoscloud_lan_create_spec.rb +3 -0
  274. data/spec/chef/knife/ionoscloud_lan_delete_spec.rb +2 -0
  275. data/spec/chef/knife/ionoscloud_lan_get_spec.rb +68 -0
  276. data/spec/chef/knife/ionoscloud_lan_list_spec.rb +5 -1
  277. data/spec/chef/knife/ionoscloud_lan_update_spec.rb +91 -0
  278. data/spec/chef/knife/ionoscloud_loadbalancer_update_spec.rb +89 -0
  279. data/spec/chef/knife/ionoscloud_nic_get_spec.rb +70 -0
  280. data/spec/chef/knife/ionoscloud_nic_update_spec.rb +92 -0
  281. data/spec/chef/knife/ionoscloud_node_get_spec.rb +70 -0
  282. data/spec/chef/knife/ionoscloud_node_list_spec.rb +3 -1
  283. data/spec/chef/knife/ionoscloud_nodepool_create_spec.rb +13 -6
  284. data/spec/chef/knife/ionoscloud_nodepool_delete_spec.rb +27 -13
  285. data/spec/chef/knife/ionoscloud_nodepool_get_spec.rb +83 -0
  286. data/spec/chef/knife/ionoscloud_nodepool_update_spec.rb +130 -0
  287. data/spec/chef/knife/ionoscloud_pcc_create_spec.rb +39 -5
  288. data/spec/chef/knife/ionoscloud_pcc_delete_spec.rb +1 -1
  289. data/spec/chef/knife/ionoscloud_pcc_get_spec.rb +71 -0
  290. data/spec/chef/knife/ionoscloud_pcc_update_spec.rb +83 -0
  291. data/spec/chef/knife/ionoscloud_request_get_spec.rb +69 -0
  292. data/spec/chef/knife/ionoscloud_request_list_spec.rb +125 -5
  293. data/spec/chef/knife/ionoscloud_s3key_get_spec.rb +66 -0
  294. data/spec/chef/knife/ionoscloud_server_get_spec.rb +71 -0
  295. data/spec/chef/knife/ionoscloud_server_list_spec.rb +2 -2
  296. data/spec/chef/knife/ionoscloud_server_update_spec.rb +102 -0
  297. data/spec/chef/knife/ionoscloud_share_get_spec.rb +66 -0
  298. data/spec/chef/knife/ionoscloud_share_update_spec.rb +91 -0
  299. data/spec/chef/knife/ionoscloud_snapshot_create_spec.rb +23 -0
  300. data/spec/chef/knife/ionoscloud_snapshot_delete_spec.rb +12 -0
  301. data/spec/chef/knife/ionoscloud_snapshot_get_spec.rb +79 -0
  302. data/spec/chef/knife/ionoscloud_snapshot_update_spec.rb +113 -0
  303. data/spec/chef/knife/ionoscloud_user_create_spec.rb +3 -1
  304. data/spec/chef/knife/ionoscloud_user_delete_spec.rb +4 -2
  305. data/spec/chef/knife/ionoscloud_user_get_spec.rb +70 -0
  306. data/spec/chef/knife/ionoscloud_user_update_spec.rb +110 -0
  307. data/spec/chef/knife/ionoscloud_volume_create_spec.rb +9 -52
  308. data/spec/chef/knife/ionoscloud_volume_delete_spec.rb +9 -0
  309. data/spec/chef/knife/ionoscloud_volume_detach_spec.rb +9 -0
  310. data/spec/chef/knife/ionoscloud_volume_get_spec.rb +80 -0
  311. data/spec/chef/knife/ionoscloud_volume_update_spec.rb +115 -0
  312. data/spec/spec_helper.rb +101 -56
  313. metadata +140 -4
@@ -2,21 +2,22 @@
2
2
 
3
3
  Creates a volume within the data center. This will NOT attach the volume to a server. Please see the Servers section for details on how to attach storage volumes.
4
4
 
5
- knife ionoscloud volume create (options)
6
-
5
+ ```text
6
+ knife ionoscloud volume create (options)
7
+ ```
7
8
 
8
9
  ## Available options:
9
- ---
10
10
 
11
11
  ### Required options:
12
- * datacenter_id
12
+
13
+ * datacenter\_id
13
14
  * name
14
15
  * type
15
16
  * size
16
- * ionoscloud_username
17
- * ionoscloud_password
17
+ * ionoscloud\_username
18
+ * ionoscloud\_password
18
19
 
19
- ```
20
+ ```text
20
21
  datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
21
22
  name of the data center (required)
22
23
 
@@ -50,14 +51,42 @@ Creates a volume within the data center. This will NOT attach the volume to a se
50
51
  availability_zone: --availability-zone AVAILABILITY_ZONE, -Z AVAILABILITY_ZONE
51
52
  the volume availability zone of the server
52
53
 
54
+ backupunit_id: --backupunit BACKUPUNIT_ID, -B BACKUPUNIT_ID
55
+ 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.
56
+
57
+ user_data: --user-data USER_DATA, -u USER_DATA
58
+ 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.
59
+
60
+ cpu_hot_plug: --cpu-hot-plug CPU_HOT_PLUG
61
+ the licence type of the volume (LINUX, WINDOWS, UNKNOWN, OTHER)
62
+
63
+ ram_hot_plug: --ram-hot-plug RAM_HOT_PLUG
64
+ the licence type of the volume (LINUX, WINDOWS, UNKNOWN, OTHER)
65
+
66
+ nic_hot_plug: --nic-hot-plug NIC_HOT_PLUG
67
+ the licence type of the volume (LINUX, WINDOWS, UNKNOWN, OTHER)
68
+
69
+ nic_hot_unplug: --nic-hot-unplug NIC_HOT_UNPLUG
70
+ the licence type of the volume (LINUX, WINDOWS, UNKNOWN, OTHER)
71
+
72
+ disc_virtio_hot_plug: --disc-virtio-hot_plug DISC_VIRTIO_HOT_PLUG
73
+ the licence type of the volume (LINUX, WINDOWS, UNKNOWN, OTHER)
74
+
75
+ disc_virtio_hot_unplug: --disc-virtio-hot_unplug DISC_VIRTIO_HOT_UNPLUG
76
+ the licence type of the volume (LINUX, WINDOWS, UNKNOWN, OTHER)
77
+
53
78
  ionoscloud_username: --username USERNAME, -u USERNAME
54
79
  your Ionoscloud username (required)
55
80
 
56
81
  ionoscloud_password: --password PASSWORD, -p PASSWORD
57
82
  your Ionoscloud password (required)
58
83
 
59
- ```
84
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
85
+ path to the additional config file
60
86
 
87
+ ```
61
88
  ## Example
62
89
 
63
- knife ionoscloud volume create --datacenter-id DATACENTER_ID --name NAME --size SIZE --bus BUS --image ID --image-alias IMAGE_ALIAS --image-password PASSWORD --type TYPE --licence-type LICENCE --ssh-keys SSHKEY1,SSHKEY2,... --availability-zone AVAILABILITY_ZONE --username USERNAME --password PASSWORD
90
+ ```text
91
+ knife ionoscloud volume create --datacenter-id DATACENTER_ID --name NAME --size SIZE --bus BUS --image ID --image-alias IMAGE_ALIAS --image-password PASSWORD --type TYPE --licence-type LICENCE --ssh-keys SSHKEY1,SSHKEY2,... --availability-zone AVAILABILITY_ZONE --backupunit BACKUPUNIT_ID --user-data USER_DATA --cpu-hot-plug CPU_HOT_PLUG --ram-hot-plug RAM_HOT_PLUG --nic-hot-plug NIC_HOT_PLUG --nic-hot-unplug NIC_HOT_UNPLUG --disc-virtio-hot_plug DISC_VIRTIO_HOT_PLUG --disc-virtio-hot_unplug DISC_VIRTIO_HOT_UNPLUG --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
92
+ ```
@@ -2,18 +2,19 @@
2
2
 
3
3
  Deletes the specified volume. This will result in the volume being removed from your virtual data center. Please use this with caution!
4
4
 
5
- knife ionoscloud volume delete SERVER_ID [SERVER_ID] (options)
6
-
5
+ ```text
6
+ knife ionoscloud volume delete SERVER_ID [SERVER_ID] (options)
7
+ ```
7
8
 
8
9
  ## Available options:
9
- ---
10
10
 
11
11
  ### Required options:
12
- * datacenter_id
13
- * ionoscloud_username
14
- * ionoscloud_password
15
12
 
16
- ```
13
+ * datacenter\_id
14
+ * ionoscloud\_username
15
+ * ionoscloud\_password
16
+
17
+ ```text
17
18
  datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
18
19
  name of the data center (required)
19
20
 
@@ -23,8 +24,12 @@ Deletes the specified volume. This will result in the volume being removed from
23
24
  ionoscloud_password: --password PASSWORD, -p PASSWORD
24
25
  your Ionoscloud password (required)
25
26
 
26
- ```
27
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
28
+ path to the additional config file
27
29
 
30
+ ```
28
31
  ## Example
29
32
 
30
- knife ionoscloud volume delete SERVER_ID
33
+ ```text
34
+ knife ionoscloud volume delete SERVER_ID
35
+ ```
@@ -4,19 +4,20 @@ This will detach the volume from the server. Depending on the volume HotUnplug s
4
4
 
5
5
  This will NOT delete the volume from your virtual data center. You will need to make a separate request to delete a volume.
6
6
 
7
- knife ionoscloud volume detach VOLUME_ID [VOLUME_ID] (options)
8
-
7
+ ```text
8
+ knife ionoscloud volume detach VOLUME_ID [VOLUME_ID] (options)
9
+ ```
9
10
 
10
11
  ## Available options:
11
- ---
12
12
 
13
13
  ### Required options:
14
- * datacenter_id
15
- * server_id
16
- * ionoscloud_username
17
- * ionoscloud_password
18
14
 
19
- ```
15
+ * datacenter\_id
16
+ * server\_id
17
+ * ionoscloud\_username
18
+ * ionoscloud\_password
19
+
20
+ ```text
20
21
  datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
21
22
  the ID of the data center (required)
22
23
 
@@ -29,8 +30,12 @@ This will NOT delete the volume from your virtual data center. You will need to
29
30
  ionoscloud_password: --password PASSWORD, -p PASSWORD
30
31
  your Ionoscloud password (required)
31
32
 
32
- ```
33
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
34
+ path to the additional config file
33
35
 
36
+ ```
34
37
  ## Example
35
38
 
36
- knife ionoscloud volume detach VOLUME_ID
39
+ ```text
40
+ knife ionoscloud volume detach VOLUME_ID
41
+ ```
@@ -0,0 +1,39 @@
1
+ # VolumeGet
2
+
3
+ Retrieves the attributes of a given Volume.
4
+
5
+ ```text
6
+ knife ionoscloud volume get (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * volume\_id
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
+ volume_id: --volume VOLUME_ID
23
+ iD of the volume. (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 volume get --datacenter-id DATACENTER_ID --volume VOLUME_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
39
+ ```
@@ -2,18 +2,19 @@
2
2
 
3
3
  List all available volumes under a data center. You can also list all volumes attached to a specific server.
4
4
 
5
- knife ionoscloud volume list (options)
6
-
5
+ ```text
6
+ knife ionoscloud volume list (options)
7
+ ```
7
8
 
8
9
  ## Available options:
9
- ---
10
10
 
11
11
  ### Required options:
12
- * datacenter_id
13
- * ionoscloud_username
14
- * ionoscloud_password
15
12
 
16
- ```
13
+ * datacenter\_id
14
+ * ionoscloud\_username
15
+ * ionoscloud\_password
16
+
17
+ ```text
17
18
  datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
18
19
  the ID of the virtul data center containing the volume (required)
19
20
 
@@ -26,8 +27,12 @@ List all available volumes under a data center. You can also list all volumes at
26
27
  ionoscloud_password: --password PASSWORD, -p PASSWORD
27
28
  your Ionoscloud password (required)
28
29
 
29
- ```
30
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
31
+ path to the additional config file
30
32
 
33
+ ```
31
34
  ## Example
32
35
 
33
- knife ionoscloud volume list --datacenter-id DATACENTER_ID --server-id SERVER_ID --username USERNAME --password PASSWORD
36
+ ```text
37
+ knife ionoscloud volume list --datacenter-id DATACENTER_ID --server-id SERVER_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
38
+ ```
@@ -0,0 +1,66 @@
1
+ # VolumeUpdate
2
+
3
+ Updates information about a Ionoscloud Volume.
4
+
5
+ ```text
6
+ knife ionoscloud volume update (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * volume\_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
+ volume_id: --volume VOLUME_ID
23
+ iD of the Volume. (required)
24
+
25
+ name: --name NAME, -n NAME
26
+ name of the volume
27
+
28
+ size: --size SIZE, -S SIZE
29
+ the size of the volume in GB
30
+
31
+ bus: --bus BUS, -b BUS
32
+ the bus type of the volume (VIRTIO or IDE)
33
+
34
+ cpu_hot_plug: --cpu-hot-plug CPU_HOT_PLUG
35
+ the licence type of the volume (LINUX, WINDOWS, UNKNOWN, OTHER)
36
+
37
+ ram_hot_plug: --ram-hot-plug RAM_HOT_PLUG
38
+ the licence type of the volume (LINUX, WINDOWS, UNKNOWN, OTHER)
39
+
40
+ nic_hot_plug: --nic-hot-plug NIC_HOT_PLUG
41
+ the licence type of the volume (LINUX, WINDOWS, UNKNOWN, OTHER)
42
+
43
+ nic_hot_unplug: --nic-hot-unplug NIC_HOT_UNPLUG
44
+ the licence type of the volume (LINUX, WINDOWS, UNKNOWN, OTHER)
45
+
46
+ disc_virtio_hot_plug: --disc-virtio-hot_plug DISC_VIRTIO_HOT_PLUG
47
+ the licence type of the volume (LINUX, WINDOWS, UNKNOWN, OTHER)
48
+
49
+ disc_virtio_hot_unplug: --disc-virtio-hot_unplug DISC_VIRTIO_HOT_UNPLUG
50
+ the licence type of the volume (LINUX, WINDOWS, UNKNOWN, OTHER)
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 volume update --datacenter-id DATACENTER_ID --volume VOLUME_ID --name NAME --size SIZE --bus BUS --cpu-hot-plug CPU_HOT_PLUG --ram-hot-plug RAM_HOT_PLUG --nic-hot-plug NIC_HOT_PLUG --nic-hot-unplug NIC_HOT_UNPLUG --disc-virtio-hot_plug DISC_VIRTIO_HOT_PLUG --disc-virtio-hot_unplug DISC_VIRTIO_HOT_UNPLUG --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
66
+ ```
data/docs/summary.md CHANGED
@@ -7,83 +7,116 @@
7
7
 
8
8
  * [BackupunitCreate](subcommands/backupunit_create.md)
9
9
  * [BackupunitDelete](subcommands/backupunit_delete.md)
10
+ * [BackupunitGet](subcommands/backupunit_get.md)
10
11
  * [BackupunitList](subcommands/backupunit_list.md)
11
12
  * [BackupunitSsourl](subcommands/backupunit_ssourl.md)
13
+ * [BackupunitUpdate](subcommands/backupunit_update.md)
12
14
  * [CompositeServerCreate](subcommands/composite_server_create.md)
13
15
  * [ContractList](subcommands/contract_list.md)
14
16
  * [DatacenterCreate](subcommands/datacenter_create.md)
15
17
  * [DatacenterDelete](subcommands/datacenter_delete.md)
18
+ * [DatacenterGet](subcommands/datacenter_get.md)
16
19
  * [DatacenterList](subcommands/datacenter_list.md)
20
+ * [DatacenterUpdate](subcommands/datacenter_update.md)
17
21
  * [FirewallCreate](subcommands/firewall_create.md)
18
22
  * [FirewallDelete](subcommands/firewall_delete.md)
23
+ * [FirewallGet](subcommands/firewall_get.md)
19
24
  * [FirewallList](subcommands/firewall_list.md)
25
+ * [FirewallUpdate](subcommands/firewall_update.md)
20
26
  * [GroupCreate](subcommands/group_create.md)
21
27
  * [GroupDelete](subcommands/group_delete.md)
22
28
  * [GroupGet](subcommands/group_get.md)
23
29
  * [GroupList](subcommands/group_list.md)
30
+ * [GroupUpdate](subcommands/group_update.md)
24
31
  * [GroupUserAdd](subcommands/group_user_add.md)
25
32
  * [GroupUserRemove](subcommands/group_user_remove.md)
26
33
  * [ImageList](subcommands/image_list.md)
27
34
  * [IpblockCreate](subcommands/ipblock_create.md)
28
35
  * [IpblockDelete](subcommands/ipblock_delete.md)
36
+ * [IpblockGet](subcommands/ipblock_get.md)
29
37
  * [IpblockList](subcommands/ipblock_list.md)
38
+ * [IpblockUpdate](subcommands/ipblock_update.md)
30
39
  * [IpfailoverAdd](subcommands/ipfailover_add.md)
31
40
  * [IpfailoverRemove](subcommands/ipfailover_remove.md)
32
41
  * [K8sCreate](subcommands/k8s_create.md)
33
42
  * [K8sDelete](subcommands/k8s_delete.md)
43
+ * [K8sGet](subcommands/k8s_get.md)
34
44
  * [K8sList](subcommands/k8s_list.md)
45
+ * [K8sUpdate](subcommands/k8s_update.md)
35
46
  * [KubeconfigGet](subcommands/kubeconfig_get.md)
36
47
  * [LabelAdd](subcommands/label_add.md)
37
48
  * [LabelList](subcommands/label_list.md)
38
49
  * [LabelRemove](subcommands/label_remove.md)
39
50
  * [LanCreate](subcommands/lan_create.md)
40
51
  * [LanDelete](subcommands/lan_delete.md)
52
+ * [LanGet](subcommands/lan_get.md)
41
53
  * [LanList](subcommands/lan_list.md)
54
+ * [LanUpdate](subcommands/lan_update.md)
42
55
  * [LoadbalancerCreate](subcommands/loadbalancer_create.md)
43
56
  * [LoadbalancerDelete](subcommands/loadbalancer_delete.md)
44
57
  * [LoadbalancerGet](subcommands/loadbalancer_get.md)
45
58
  * [LoadbalancerList](subcommands/loadbalancer_list.md)
46
59
  * [LoadbalancerNicAdd](subcommands/loadbalancer_nic_add.md)
47
60
  * [LoadbalancerNicRemove](subcommands/loadbalancer_nic_remove.md)
61
+ * [LoadbalancerUpdate](subcommands/loadbalancer_update.md)
48
62
  * [LocationList](subcommands/location_list.md)
49
63
  * [NicCreate](subcommands/nic_create.md)
50
64
  * [NicDelete](subcommands/nic_delete.md)
65
+ * [NicGet](subcommands/nic_get.md)
51
66
  * [NicList](subcommands/nic_list.md)
67
+ * [NicUpdate](subcommands/nic_update.md)
52
68
  * [NodeDelete](subcommands/node_delete.md)
69
+ * [NodeGet](subcommands/node_get.md)
53
70
  * [NodeList](subcommands/node_list.md)
54
71
  * [NodeReplace](subcommands/node_replace.md)
55
72
  * [NodepoolCreate](subcommands/nodepool_create.md)
56
73
  * [NodepoolDelete](subcommands/nodepool_delete.md)
74
+ * [NodepoolGet](subcommands/nodepool_get.md)
57
75
  * [NodepoolList](subcommands/nodepool_list.md)
76
+ * [NodepoolUpdate](subcommands/nodepool_update.md)
58
77
  * [PccCreate](subcommands/pcc_create.md)
59
78
  * [PccDelete](subcommands/pcc_delete.md)
79
+ * [PccGet](subcommands/pcc_get.md)
60
80
  * [PccList](subcommands/pcc_list.md)
81
+ * [PccUpdate](subcommands/pcc_update.md)
82
+ * [RequestGet](subcommands/request_get.md)
61
83
  * [RequestList](subcommands/request_list.md)
62
84
  * [RequestStatus](subcommands/request_status.md)
63
85
  * [RequestWait](subcommands/request_wait.md)
64
86
  * [ResourceList](subcommands/resource_list.md)
65
87
  * [S3keyCreate](subcommands/s3key_create.md)
66
88
  * [S3keyDelete](subcommands/s3key_delete.md)
89
+ * [S3keyGet](subcommands/s3key_get.md)
67
90
  * [S3keyList](subcommands/s3key_list.md)
68
91
  * [ServerCreate](subcommands/server_create.md)
69
92
  * [ServerDelete](subcommands/server_delete.md)
93
+ * [ServerGet](subcommands/server_get.md)
70
94
  * [ServerList](subcommands/server_list.md)
71
95
  * [ServerReboot](subcommands/server_reboot.md)
72
96
  * [ServerStart](subcommands/server_start.md)
73
97
  * [ServerStop](subcommands/server_stop.md)
98
+ * [ServerUpdate](subcommands/server_update.md)
74
99
  * [ShareCreate](subcommands/share_create.md)
75
100
  * [ShareDelete](subcommands/share_delete.md)
101
+ * [ShareGet](subcommands/share_get.md)
76
102
  * [ShareList](subcommands/share_list.md)
103
+ * [ShareUpdate](subcommands/share_update.md)
77
104
  * [SnapshotCreate](subcommands/snapshot_create.md)
78
105
  * [SnapshotDelete](subcommands/snapshot_delete.md)
106
+ * [SnapshotGet](subcommands/snapshot_get.md)
79
107
  * [SnapshotList](subcommands/snapshot_list.md)
80
108
  * [SnapshotRestore](subcommands/snapshot_restore.md)
109
+ * [SnapshotUpdate](subcommands/snapshot_update.md)
81
110
  * [UserCreate](subcommands/user_create.md)
82
111
  * [UserDelete](subcommands/user_delete.md)
112
+ * [UserGet](subcommands/user_get.md)
83
113
  * [UserList](subcommands/user_list.md)
84
114
  * [UserSsourl](subcommands/user_ssourl.md)
115
+ * [UserUpdate](subcommands/user_update.md)
85
116
  * [VolumeAttach](subcommands/volume_attach.md)
86
117
  * [VolumeCreate](subcommands/volume_create.md)
87
118
  * [VolumeDelete](subcommands/volume_delete.md)
88
119
  * [VolumeDetach](subcommands/volume_detach.md)
120
+ * [VolumeGet](subcommands/volume_get.md)
89
121
  * [VolumeList](subcommands/volume_list.md)
122
+ * [VolumeUpdate](subcommands/volume_update.md)
@@ -1,26 +1,28 @@
1
1
  # {{name}}
2
2
 
3
- {{description}}
4
-
5
- {{banner}}
3
+ {{{description}}}
6
4
 
5
+ ```text
6
+ {{banner}}
7
+ ```
7
8
 
8
9
  ## Available options:
9
- ---
10
10
 
11
11
  ### Required options:
12
+
12
13
  {{#required_options}}
13
14
  * {{.}}
14
15
  {{/required_options}}
15
16
 
16
- ```
17
+ ```text
17
18
  {{#options}}
18
19
  {{name}}: {{long}}{{#short}}, {{short}}{{/short}}
19
20
  {{{description}}}{{#required}} (required){{/required}}
20
21
 
21
22
  {{/options}}
22
23
  ```
23
-
24
24
  ## Example
25
25
 
26
- {{example}}
26
+ ```text
27
+ {{example}}
28
+ ```
data/git-versioning.sh ADDED
@@ -0,0 +1,113 @@
1
+ #!/bin/sh
2
+
3
+ version="${1}"
4
+ old_version="${2}"
5
+
6
+ committer_name=${COMMITTER_NAME:-"IONOS Cloud CLI Robot"}
7
+ committer_email=${COMMITTER_EMAIL:-"sdk@cloud.ionos.com"}
8
+
9
+ function usage() {
10
+ echo "usage: ionosctl <version>"
11
+ }
12
+
13
+ function error() {
14
+ echo "! ERROR: ${1}"
15
+ }
16
+
17
+ function warning() {
18
+ echo "! WARNING: ${1}"
19
+ }
20
+
21
+ function info() {
22
+ echo "~ ${1}"
23
+ }
24
+
25
+ function debug() {
26
+ echo ">> $1"
27
+ }
28
+
29
+ function get_major() {
30
+ local ret=$(echo "${1}" | cut -d '.' -f 1)
31
+ local first_char=$(echo "${ret}" | cut -c1-1)
32
+ if [ "${first_char}" = "v" ]; then
33
+ # strip the v from the major component
34
+ ret=$(echo "${ret}" | cut -c2-100)
35
+ fi
36
+ echo "${ret}"
37
+ }
38
+
39
+ function get_minor() {
40
+ echo $(echo "${1}" | cut -d '.' -f 2)
41
+ }
42
+
43
+ if [ "${version}" = "" ]; then
44
+ error "version not specified"
45
+ usage
46
+ exit 1
47
+ fi
48
+
49
+ if [ "${old_version}" = "" ]; then
50
+ error "old version not specified"
51
+ usage
52
+ exit 1
53
+ fi
54
+
55
+ major=$(get_major "${version}")
56
+ if [ "${major}" = "" ]; then
57
+ error "cannot compute major version from ${version}"
58
+ exit 1
59
+ fi
60
+
61
+ minor=$(get_minor "${version}")
62
+ if [ "${minor}" = "" ]; then
63
+ error "cannot compute minor version from ${version}"
64
+ exit 1
65
+ fi
66
+
67
+ info "using git committer name: ${committer_name}"
68
+ info "using git committer email: ${committer_email}"
69
+
70
+ # setting up committer info
71
+ git config --local user.name "${committer_name}" >/dev/null || exit 1
72
+ git config --local user.email ${committer_email} >/dev/null || exit 1
73
+
74
+ git config --local pull.rebase false
75
+
76
+ # we don't need to spam stdout with useless info :)
77
+ git config --local advice.detachedHead false
78
+
79
+ # check if we have a new major or minor
80
+ info "new version is: ${version}"
81
+ info "found new version: $(git tag --list "v*" --sort=refname | tail -n 1)"
82
+
83
+ info "old version is: ${old_version}"
84
+ info "found older version: $(git tag --list "v*" --sort=refname | tail -n 2 | head -n 1)"
85
+
86
+ info "checking if we have a new major or minor version ..."
87
+ if [ "${old_version}" != "" ]; then
88
+ old_major=$(get_major "${old_version}")
89
+ old_minor=$(get_minor "${old_version}")
90
+ info "old major: ${old_major} / old minor: is ${old_minor} / current major: ${major} / current minor: ${minor}"
91
+ if [ "${old_major}" != "" -a "${old_minor}" != "" ]; then
92
+ if [ "${old_major}" != "${major}" -o "${old_minor}" != "${minor}" ]; then
93
+ # create release branch for old version from the old version tag
94
+ branch_name="release/${old_major}.${old_minor}.x"
95
+ git branch -a | grep ${branch_name}
96
+ if [ "$?" = "0" ]; then
97
+ warning "a release branch ${branch_name} already exists"
98
+ else
99
+ info "creating a new release branch: ${branch_name}"
100
+ git checkout ${old_version} >/dev/null || exit 1
101
+ git checkout -b "${branch_name}" >/dev/null || exit 1
102
+ git push -u origin ${branch_name} >/dev/null || exit 1
103
+ git checkout ${version} >/dev/null || exit 1
104
+ fi
105
+ else
106
+ info "no new release branch needed"
107
+ fi
108
+ else
109
+ info "could not compute old major or old minor versions"
110
+ fi
111
+ else
112
+ info "no older versions found"
113
+ fi
@@ -18,7 +18,6 @@ class Chef
18
18
  description: 'Alphanumeric password you want assigned to the backup unit'
19
19
 
20
20
  option :email,
21
- short: '-e EMAIL',
22
21
  long: '--email EMAIL',
23
22
  description: 'The e-mail address you want assigned to the backup unit.'
24
23
 
@@ -33,30 +32,27 @@ class Chef
33
32
 
34
33
  def run
35
34
  $stdout.sync = true
35
+ handle_extra_config
36
36
  validate_required_params(@required_options, config)
37
37
 
38
38
  print "#{ui.color('Creating Backup unit...', :magenta)}"
39
39
 
40
40
  backupunit_api = Ionoscloud::BackupUnitApi.new(api_client)
41
41
 
42
- backupunit, _, headers = backupunit_api.backupunits_post_with_http_info({
43
- properties: {
44
- name: config[:name],
45
- password: config[:password],
46
- email: config[:email],
47
- }.compact,
48
- })
42
+ backupunit, _, headers = backupunit_api.backupunits_post_with_http_info(
43
+ Ionoscloud::BackupUnit.new(
44
+ properties: Ionoscloud::BackupUnitProperties.new(
45
+ name: config[:name],
46
+ password: config[:password],
47
+ email: config[:email],
48
+ ),
49
+ ),
50
+ )
49
51
 
50
52
  dot = ui.color('.', :magenta)
51
53
  api_client.wait_for { print dot; is_done? get_request_id headers }
52
54
 
53
- puts backupunit
54
-
55
- puts "\n"
56
- puts "#{ui.color('ID', :cyan)}: #{backupunit.id}"
57
- puts "#{ui.color('Name', :cyan)}: #{backupunit.properties.name}"
58
- puts "#{ui.color('Email', :cyan)}: #{backupunit.properties.email}"
59
- puts 'done'
55
+ print_backupunit(backupunit)
60
56
  end
61
57
  end
62
58
  end
@@ -21,6 +21,7 @@ class Chef
21
21
 
22
22
  def run
23
23
  $stdout.sync = true
24
+ handle_extra_config
24
25
  validate_required_params(@required_options, config)
25
26
 
26
27
  backupunit_api = Ionoscloud::BackupUnitApi.new(api_client)
@@ -34,10 +35,7 @@ class Chef
34
35
  next
35
36
  end
36
37
 
37
- msg_pair('ID', backupunit.id)
38
- msg_pair('Name', backupunit.properties.name)
39
- msg_pair('Email', backupunit.properties.email)
40
-
38
+ print_backupunit(backupunit)
41
39
  puts "\n"
42
40
 
43
41
  begin
@@ -0,0 +1,33 @@
1
+ require_relative 'ionoscloud_base'
2
+
3
+ class Chef
4
+ class Knife
5
+ class IonoscloudBackupunitGet < Knife
6
+ include Knife::IonoscloudBase
7
+
8
+ banner 'knife ionoscloud backupunit get (options)'
9
+
10
+ option :backupunit_id,
11
+ short: '-B BACKUPUNIT_ID',
12
+ long: '--backupunit-id BACKUPUNIT_ID',
13
+ description: 'The ID of the Backup unit.'
14
+
15
+ attr_reader :description, :required_options
16
+
17
+ def initialize(args = [])
18
+ super(args)
19
+ @description =
20
+ 'Retrieves information about a backup unit.'
21
+ @required_options = [:backupunit_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_backupunit(Ionoscloud::BackupUnitApi.new(api_client).backupunits_find_by_id(config[:backupunit_id]))
30
+ end
31
+ end
32
+ end
33
+ end