knife-ionoscloud 6.0.0.alpha.1 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (434) hide show
  1. checksums.yaml +4 -4
  2. data/.github/IONOS.CLOUD.BLU.svg +1 -0
  3. data/.github/workflows/publish.yml +4 -1
  4. data/README.md +9 -0
  5. data/docs/README.md +37 -0
  6. data/docs/changelog.md +10 -0
  7. data/docs/docs_generator.rb +45 -10
  8. data/docs/subcommands/{backupunit_create.md → backup/backupunit_create.md} +7 -1
  9. data/docs/subcommands/{backupunit_delete.md → backup/backupunit_delete.md} +7 -1
  10. data/docs/subcommands/backup/backupunit_get.md +38 -0
  11. data/docs/subcommands/{backupunit_list.md → backup/backupunit_list.md} +7 -1
  12. data/docs/subcommands/{backupunit_ssourl.md → backup/backupunit_ssourl.md} +7 -1
  13. data/docs/subcommands/backup/backupunit_update.md +44 -0
  14. data/docs/subcommands/{composite_server_create.md → compute-engine/composite_server_create.md} +15 -3
  15. data/docs/subcommands/compute-engine/cube_server_create.md +94 -0
  16. data/docs/subcommands/{datacenter_create.md → compute-engine/datacenter_create.md} +7 -1
  17. data/docs/subcommands/{datacenter_delete.md → compute-engine/datacenter_delete.md} +7 -1
  18. data/docs/subcommands/compute-engine/datacenter_get.md +38 -0
  19. data/docs/subcommands/{datacenter_list.md → compute-engine/datacenter_list.md} +7 -1
  20. data/docs/subcommands/compute-engine/datacenter_update.md +47 -0
  21. data/docs/subcommands/{firewall_create.md → compute-engine/firewall_create.md} +11 -2
  22. data/docs/subcommands/{firewall_delete.md → compute-engine/firewall_delete.md} +6 -0
  23. data/docs/subcommands/compute-engine/firewall_get.md +50 -0
  24. data/docs/subcommands/{firewall_list.md → compute-engine/firewall_list.md} +7 -1
  25. data/docs/subcommands/compute-engine/firewall_update.md +74 -0
  26. data/docs/subcommands/compute-engine/flowlog_create.md +66 -0
  27. data/docs/subcommands/compute-engine/flowlog_delete.md +54 -0
  28. data/docs/subcommands/compute-engine/flowlog_get.md +58 -0
  29. data/docs/subcommands/compute-engine/flowlog_list.md +54 -0
  30. data/docs/subcommands/compute-engine/flowlog_update.md +70 -0
  31. data/docs/subcommands/{image_list.md → compute-engine/image_list.md} +7 -1
  32. data/docs/subcommands/{ipblock_create.md → compute-engine/ipblock_create.md} +7 -1
  33. data/docs/subcommands/{ipblock_delete.md → compute-engine/ipblock_delete.md} +7 -1
  34. data/docs/subcommands/compute-engine/ipblock_get.md +38 -0
  35. data/docs/subcommands/{ipblock_list.md → compute-engine/ipblock_list.md} +7 -1
  36. data/docs/subcommands/compute-engine/ipblock_update.md +41 -0
  37. data/docs/subcommands/{ipfailover_add.md → compute-engine/ipfailover_add.md} +7 -1
  38. data/docs/subcommands/{ipfailover_remove.md → compute-engine/ipfailover_remove.md} +7 -1
  39. data/docs/subcommands/{label_add.md → compute-engine/label_add.md} +7 -1
  40. data/docs/subcommands/{label_list.md → compute-engine/label_list.md} +7 -1
  41. data/docs/subcommands/{label_remove.md → compute-engine/label_remove.md} +6 -0
  42. data/docs/subcommands/{lan_create.md → compute-engine/lan_create.md} +7 -1
  43. data/docs/subcommands/{lan_delete.md → compute-engine/lan_delete.md} +6 -0
  44. data/docs/subcommands/compute-engine/lan_get.md +42 -0
  45. data/docs/subcommands/{lan_list.md → compute-engine/lan_list.md} +7 -1
  46. data/docs/subcommands/compute-engine/lan_update.md +51 -0
  47. data/docs/subcommands/{loadbalancer_create.md → compute-engine/loadbalancer_create.md} +7 -1
  48. data/docs/subcommands/{loadbalancer_delete.md → compute-engine/loadbalancer_delete.md} +6 -0
  49. data/docs/subcommands/{loadbalancer_get.md → compute-engine/loadbalancer_get.md} +7 -1
  50. data/docs/subcommands/{loadbalancer_list.md → compute-engine/loadbalancer_list.md} +7 -1
  51. data/docs/subcommands/{loadbalancer_nic_add.md → compute-engine/loadbalancer_nic_add.md} +6 -0
  52. data/docs/subcommands/{loadbalancer_nic_remove.md → compute-engine/loadbalancer_nic_remove.md} +6 -0
  53. data/docs/subcommands/compute-engine/loadbalancer_update.md +51 -0
  54. data/docs/subcommands/{location_list.md → compute-engine/location_list.md} +7 -1
  55. data/docs/subcommands/compute-engine/natgateway_create.md +44 -0
  56. data/docs/subcommands/compute-engine/natgateway_delete.md +38 -0
  57. data/docs/subcommands/compute-engine/natgateway_get.md +42 -0
  58. data/docs/subcommands/compute-engine/natgateway_lan_add.md +49 -0
  59. data/docs/subcommands/compute-engine/natgateway_lan_remove.md +42 -0
  60. data/docs/subcommands/compute-engine/natgateway_list.md +38 -0
  61. data/docs/subcommands/compute-engine/natgateway_rule_add.md +69 -0
  62. data/docs/subcommands/compute-engine/natgateway_rule_list.md +41 -0
  63. data/docs/subcommands/compute-engine/natgateway_rule_remove.md +42 -0
  64. data/docs/subcommands/compute-engine/natgateway_rule_update.md +69 -0
  65. data/docs/subcommands/compute-engine/natgateway_update.md +51 -0
  66. data/docs/subcommands/compute-engine/networkloadbalancer_create.md +57 -0
  67. data/docs/subcommands/compute-engine/networkloadbalancer_delete.md +38 -0
  68. data/docs/subcommands/compute-engine/networkloadbalancer_get.md +42 -0
  69. data/docs/subcommands/compute-engine/networkloadbalancer_list.md +38 -0
  70. data/docs/subcommands/compute-engine/networkloadbalancer_rule_add.md +75 -0
  71. data/docs/subcommands/compute-engine/networkloadbalancer_rule_list.md +42 -0
  72. data/docs/subcommands/compute-engine/networkloadbalancer_rule_remove.md +42 -0
  73. data/docs/subcommands/compute-engine/networkloadbalancer_rule_target_add.md +67 -0
  74. data/docs/subcommands/compute-engine/networkloadbalancer_rule_target_list.md +46 -0
  75. data/docs/subcommands/compute-engine/networkloadbalancer_rule_target_remove.md +54 -0
  76. data/docs/subcommands/compute-engine/networkloadbalancer_rule_update.md +75 -0
  77. data/docs/subcommands/compute-engine/networkloadbalancer_update.md +57 -0
  78. data/docs/subcommands/{nic_create.md → compute-engine/nic_create.md} +9 -3
  79. data/docs/subcommands/{nic_delete.md → compute-engine/nic_delete.md} +6 -0
  80. data/docs/subcommands/compute-engine/nic_get.md +46 -0
  81. data/docs/subcommands/{nic_list.md → compute-engine/nic_list.md} +7 -1
  82. data/docs/subcommands/compute-engine/nic_update.md +61 -0
  83. data/docs/subcommands/{pcc_create.md → compute-engine/pcc_create.md} +7 -1
  84. data/docs/subcommands/{pcc_delete.md → compute-engine/pcc_delete.md} +7 -1
  85. data/docs/subcommands/compute-engine/pcc_get.md +38 -0
  86. data/docs/subcommands/{pcc_list.md → compute-engine/pcc_list.md} +7 -1
  87. data/docs/subcommands/compute-engine/pcc_update.md +44 -0
  88. data/docs/subcommands/compute-engine/request_get.md +38 -0
  89. data/docs/subcommands/{request_list.md → compute-engine/request_list.md} +7 -1
  90. data/docs/subcommands/{request_status.md → compute-engine/request_status.md} +7 -1
  91. data/docs/subcommands/{request_wait.md → compute-engine/request_wait.md} +7 -1
  92. data/docs/subcommands/compute-engine/server_console.md +42 -0
  93. data/docs/subcommands/{server_create.md → compute-engine/server_create.md} +7 -1
  94. data/docs/subcommands/{server_delete.md → compute-engine/server_delete.md} +6 -0
  95. data/docs/subcommands/compute-engine/server_get.md +42 -0
  96. data/docs/subcommands/{server_list.md → compute-engine/server_list.md} +10 -1
  97. data/docs/subcommands/{server_reboot.md → compute-engine/server_reboot.md} +6 -0
  98. data/docs/subcommands/compute-engine/server_resume.md +38 -0
  99. data/docs/subcommands/{server_start.md → compute-engine/server_start.md} +6 -0
  100. data/docs/subcommands/{server_stop.md → compute-engine/server_stop.md} +6 -0
  101. data/docs/subcommands/compute-engine/server_suspend.md +38 -0
  102. data/docs/subcommands/compute-engine/server_token.md +42 -0
  103. data/docs/subcommands/compute-engine/server_update.md +63 -0
  104. data/docs/subcommands/compute-engine/server_upgrade.md +42 -0
  105. data/docs/subcommands/{snapshot_create.md → compute-engine/snapshot_create.md} +7 -1
  106. data/docs/subcommands/{snapshot_delete.md → compute-engine/snapshot_delete.md} +7 -1
  107. data/docs/subcommands/compute-engine/snapshot_get.md +38 -0
  108. data/docs/subcommands/{snapshot_list.md → compute-engine/snapshot_list.md} +7 -1
  109. data/docs/subcommands/{snapshot_restore.md → compute-engine/snapshot_restore.md} +7 -1
  110. data/docs/subcommands/compute-engine/snapshot_update.md +80 -0
  111. data/docs/subcommands/compute-engine/template_list.md +34 -0
  112. data/docs/subcommands/{volume_attach.md → compute-engine/volume_attach.md} +6 -0
  113. data/docs/subcommands/{volume_create.md → compute-engine/volume_create.md} +14 -5
  114. data/docs/subcommands/{volume_delete.md → compute-engine/volume_delete.md} +6 -0
  115. data/docs/subcommands/{volume_detach.md → compute-engine/volume_detach.md} +6 -0
  116. data/docs/subcommands/compute-engine/volume_get.md +42 -0
  117. data/docs/subcommands/{volume_list.md → compute-engine/volume_list.md} +7 -1
  118. data/docs/subcommands/compute-engine/volume_update.md +69 -0
  119. data/docs/subcommands/dbaas-postgres/dbaas_postgres_backup_get.md +38 -0
  120. data/docs/subcommands/dbaas-postgres/dbaas_postgres_backup_list.md +38 -0
  121. data/docs/subcommands/dbaas-postgres/dbaas_postgres_cluster_create.md +100 -0
  122. data/docs/subcommands/dbaas-postgres/dbaas_postgres_cluster_delete.md +34 -0
  123. data/docs/subcommands/dbaas-postgres/dbaas_postgres_cluster_get.md +38 -0
  124. data/docs/subcommands/dbaas-postgres/dbaas_postgres_cluster_list.md +34 -0
  125. data/docs/subcommands/dbaas-postgres/dbaas_postgres_cluster_restore.md +44 -0
  126. data/docs/subcommands/dbaas-postgres/dbaas_postgres_cluster_update.md +65 -0
  127. data/docs/subcommands/dbaas-postgres/dbaas_postgres_logs_get.md +47 -0
  128. data/docs/subcommands/dbaas-postgres/dbaas_postgres_version_list.md +38 -0
  129. data/docs/subcommands/kubernetes/k8s_create.md +53 -0
  130. data/docs/subcommands/{k8s_delete.md → kubernetes/k8s_delete.md} +7 -1
  131. data/docs/subcommands/kubernetes/k8s_get.md +38 -0
  132. data/docs/subcommands/{k8s_list.md → kubernetes/k8s_list.md} +7 -1
  133. data/docs/subcommands/kubernetes/k8s_update.md +56 -0
  134. data/docs/subcommands/{kubeconfig_get.md → kubernetes/kubeconfig_get.md} +7 -1
  135. data/docs/subcommands/{node_delete.md → kubernetes/node_delete.md} +6 -0
  136. data/docs/subcommands/kubernetes/node_get.md +46 -0
  137. data/docs/subcommands/{node_list.md → kubernetes/node_list.md} +7 -1
  138. data/docs/subcommands/{node_replace.md → kubernetes/node_replace.md} +6 -0
  139. data/docs/subcommands/{nodepool_create.md → kubernetes/nodepool_create.md} +16 -1
  140. data/docs/subcommands/{nodepool_delete.md → kubernetes/nodepool_delete.md} +6 -0
  141. data/docs/subcommands/kubernetes/nodepool_get.md +42 -0
  142. data/docs/subcommands/kubernetes/nodepool_lan_add.md +52 -0
  143. data/docs/subcommands/kubernetes/nodepool_lan_remove.md +42 -0
  144. data/docs/subcommands/{nodepool_list.md → kubernetes/nodepool_list.md} +7 -1
  145. data/docs/subcommands/kubernetes/nodepool_update.md +72 -0
  146. data/docs/subcommands/{contract_list.md → user/contract_list.md} +7 -1
  147. data/docs/subcommands/{group_create.md → user/group_create.md} +16 -1
  148. data/docs/subcommands/{group_delete.md → user/group_delete.md} +7 -1
  149. data/docs/subcommands/{group_get.md → user/group_get.md} +7 -1
  150. data/docs/subcommands/{group_list.md → user/group_list.md} +7 -1
  151. data/docs/subcommands/user/group_update.md +77 -0
  152. data/docs/subcommands/{group_user_add.md → user/group_user_add.md} +6 -0
  153. data/docs/subcommands/{group_user_remove.md → user/group_user_remove.md} +6 -0
  154. data/docs/subcommands/{resource_list.md → user/resource_list.md} +7 -1
  155. data/docs/subcommands/{s3key_create.md → user/s3key_create.md} +7 -1
  156. data/docs/subcommands/{s3key_delete.md → user/s3key_delete.md} +6 -0
  157. data/docs/subcommands/user/s3key_get.md +42 -0
  158. data/docs/subcommands/{s3key_list.md → user/s3key_list.md} +7 -1
  159. data/docs/subcommands/{share_create.md → user/share_create.md} +7 -1
  160. data/docs/subcommands/{share_delete.md → user/share_delete.md} +6 -0
  161. data/docs/subcommands/user/share_get.md +42 -0
  162. data/docs/subcommands/{share_list.md → user/share_list.md} +7 -1
  163. data/docs/subcommands/user/share_update.md +48 -0
  164. data/docs/subcommands/{user_create.md → user/user_create.md} +7 -1
  165. data/docs/subcommands/{user_delete.md → user/user_delete.md} +7 -1
  166. data/docs/subcommands/user/user_get.md +38 -0
  167. data/docs/subcommands/{user_list.md → user/user_list.md} +7 -1
  168. data/docs/subcommands/{user_ssourl.md → user/user_ssourl.md} +7 -1
  169. data/docs/subcommands/user/user_update.md +59 -0
  170. data/docs/summary.md +167 -82
  171. data/docs/templates/summary.mustache +6 -3
  172. data/knife-ionoscloud.gemspec +2 -1
  173. data/lib/chef/knife/ionoscloud_backupunit_create.rb +12 -16
  174. data/lib/chef/knife/ionoscloud_backupunit_delete.rb +3 -6
  175. data/lib/chef/knife/ionoscloud_backupunit_get.rb +32 -0
  176. data/lib/chef/knife/ionoscloud_backupunit_list.rb +2 -2
  177. data/lib/chef/knife/ionoscloud_backupunit_ssourl.rb +2 -2
  178. data/lib/chef/knife/ionoscloud_backupunit_update.rb +61 -0
  179. data/lib/chef/knife/ionoscloud_base.rb +417 -1
  180. data/lib/chef/knife/ionoscloud_composite_server_create.rb +7 -11
  181. data/lib/chef/knife/ionoscloud_contract_list.rb +2 -2
  182. data/lib/chef/knife/ionoscloud_cube_server_create.rb +7 -11
  183. data/lib/chef/knife/ionoscloud_datacenter_create.rb +12 -15
  184. data/lib/chef/knife/ionoscloud_datacenter_delete.rb +3 -8
  185. data/lib/chef/knife/ionoscloud_datacenter_get.rb +32 -0
  186. data/lib/chef/knife/ionoscloud_datacenter_list.rb +2 -2
  187. data/lib/chef/knife/ionoscloud_datacenter_update.rb +66 -0
  188. data/lib/chef/knife/ionoscloud_dbaas_postgres_backup_get.rb +33 -0
  189. data/lib/chef/knife/ionoscloud_dbaas_postgres_backup_list.rb +59 -0
  190. data/lib/chef/knife/ionoscloud_dbaas_postgres_cluster_create.rb +158 -0
  191. data/lib/chef/knife/ionoscloud_dbaas_postgres_cluster_delete.rb +49 -0
  192. data/lib/chef/knife/ionoscloud_dbaas_postgres_cluster_get.rb +34 -0
  193. data/lib/chef/knife/ionoscloud_dbaas_postgres_cluster_list.rb +53 -0
  194. data/lib/chef/knife/ionoscloud_dbaas_postgres_cluster_restore.rb +48 -0
  195. data/lib/chef/knife/ionoscloud_dbaas_postgres_cluster_update.rb +102 -0
  196. data/lib/chef/knife/ionoscloud_dbaas_postgres_logs_get.rb +59 -0
  197. data/lib/chef/knife/ionoscloud_dbaas_postgres_version_list.rb +49 -0
  198. data/lib/chef/knife/ionoscloud_firewall_create.rb +10 -24
  199. data/lib/chef/knife/ionoscloud_firewall_delete.rb +4 -13
  200. data/lib/chef/knife/ionoscloud_firewall_get.rb +51 -0
  201. data/lib/chef/knife/ionoscloud_firewall_list.rb +2 -2
  202. data/lib/chef/knife/ionoscloud_firewall_update.rb +131 -0
  203. data/lib/chef/knife/ionoscloud_flowlog_create.rb +6 -14
  204. data/lib/chef/knife/ionoscloud_flowlog_delete.rb +10 -14
  205. data/lib/chef/knife/ionoscloud_flowlog_get.rb +83 -0
  206. data/lib/chef/knife/ionoscloud_flowlog_list.rb +4 -4
  207. data/lib/chef/knife/ionoscloud_flowlog_update.rb +124 -0
  208. data/lib/chef/knife/ionoscloud_group_create.rb +3 -18
  209. data/lib/chef/knife/ionoscloud_group_delete.rb +3 -20
  210. data/lib/chef/knife/ionoscloud_group_get.rb +3 -21
  211. data/lib/chef/knife/ionoscloud_group_list.rb +2 -2
  212. data/lib/chef/knife/ionoscloud_group_update.rb +130 -0
  213. data/lib/chef/knife/ionoscloud_group_user_add.rb +3 -20
  214. data/lib/chef/knife/ionoscloud_group_user_remove.rb +3 -20
  215. data/lib/chef/knife/ionoscloud_image_list.rb +2 -2
  216. data/lib/chef/knife/ionoscloud_ipblock_create.rb +12 -15
  217. data/lib/chef/knife/ionoscloud_ipblock_delete.rb +3 -6
  218. data/lib/chef/knife/ionoscloud_ipblock_get.rb +32 -0
  219. data/lib/chef/knife/ionoscloud_ipblock_list.rb +2 -2
  220. data/lib/chef/knife/ionoscloud_ipblock_update.rb +56 -0
  221. data/lib/chef/knife/ionoscloud_ipfailover_add.rb +3 -3
  222. data/lib/chef/knife/ionoscloud_ipfailover_remove.rb +3 -3
  223. data/lib/chef/knife/ionoscloud_k8s_create.rb +28 -36
  224. data/lib/chef/knife/ionoscloud_k8s_delete.rb +3 -11
  225. data/lib/chef/knife/ionoscloud_k8s_get.rb +32 -0
  226. data/lib/chef/knife/ionoscloud_k8s_list.rb +2 -2
  227. data/lib/chef/knife/ionoscloud_k8s_update.rb +98 -0
  228. data/lib/chef/knife/ionoscloud_kubeconfig_get.rb +2 -2
  229. data/lib/chef/knife/ionoscloud_label_add.rb +2 -2
  230. data/lib/chef/knife/ionoscloud_label_list.rb +2 -2
  231. data/lib/chef/knife/ionoscloud_label_remove.rb +2 -2
  232. data/lib/chef/knife/ionoscloud_lan_create.rb +8 -17
  233. data/lib/chef/knife/ionoscloud_lan_delete.rb +5 -6
  234. data/lib/chef/knife/ionoscloud_lan_get.rb +37 -0
  235. data/lib/chef/knife/ionoscloud_lan_list.rb +4 -3
  236. data/lib/chef/knife/ionoscloud_lan_update.rb +75 -0
  237. data/lib/chef/knife/ionoscloud_loadbalancer_create.rb +7 -16
  238. data/lib/chef/knife/ionoscloud_loadbalancer_delete.rb +3 -10
  239. data/lib/chef/knife/ionoscloud_loadbalancer_get.rb +4 -14
  240. data/lib/chef/knife/ionoscloud_loadbalancer_list.rb +2 -2
  241. data/lib/chef/knife/ionoscloud_loadbalancer_nic_add.rb +4 -16
  242. data/lib/chef/knife/ionoscloud_loadbalancer_nic_remove.rb +4 -17
  243. data/lib/chef/knife/ionoscloud_loadbalancer_update.rb +72 -0
  244. data/lib/chef/knife/ionoscloud_location_list.rb +2 -2
  245. data/lib/chef/knife/ionoscloud_natgateway_create.rb +7 -19
  246. data/lib/chef/knife/ionoscloud_natgateway_delete.rb +4 -20
  247. data/lib/chef/knife/ionoscloud_natgateway_get.rb +41 -0
  248. data/lib/chef/knife/ionoscloud_natgateway_lan_add.rb +4 -13
  249. data/lib/chef/knife/ionoscloud_natgateway_lan_remove.rb +3 -10
  250. data/lib/chef/knife/ionoscloud_natgateway_list.rb +3 -2
  251. data/lib/chef/knife/ionoscloud_natgateway_rule_add.rb +8 -28
  252. data/lib/chef/knife/ionoscloud_natgateway_rule_list.rb +3 -2
  253. data/lib/chef/knife/ionoscloud_natgateway_rule_remove.rb +5 -23
  254. data/lib/chef/knife/ionoscloud_natgateway_rule_update.rb +115 -0
  255. data/lib/chef/knife/ionoscloud_natgateway_update.rb +83 -0
  256. data/lib/chef/knife/ionoscloud_networkloadbalancer_create.rb +8 -15
  257. data/lib/chef/knife/ionoscloud_networkloadbalancer_delete.rb +4 -24
  258. data/lib/chef/knife/ionoscloud_networkloadbalancer_get.rb +41 -0
  259. data/lib/chef/knife/ionoscloud_networkloadbalancer_list.rb +2 -2
  260. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_add.rb +32 -48
  261. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_list.rb +3 -2
  262. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_remove.rb +21 -32
  263. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_add.rb +7 -26
  264. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_list.rb +3 -2
  265. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_remove.rb +6 -24
  266. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_update.rb +147 -0
  267. data/lib/chef/knife/ionoscloud_networkloadbalancer_update.rb +97 -0
  268. data/lib/chef/knife/ionoscloud_nic_create.rb +10 -24
  269. data/lib/chef/knife/ionoscloud_nic_delete.rb +4 -10
  270. data/lib/chef/knife/ionoscloud_nic_get.rb +48 -0
  271. data/lib/chef/knife/ionoscloud_nic_list.rb +2 -2
  272. data/lib/chef/knife/ionoscloud_nic_update.rb +95 -0
  273. data/lib/chef/knife/ionoscloud_node_delete.rb +2 -2
  274. data/lib/chef/knife/ionoscloud_node_get.rb +48 -0
  275. data/lib/chef/knife/ionoscloud_node_list.rb +2 -2
  276. data/lib/chef/knife/ionoscloud_node_replace.rb +2 -2
  277. data/lib/chef/knife/ionoscloud_nodepool_create.rb +27 -59
  278. data/lib/chef/knife/ionoscloud_nodepool_delete.rb +3 -34
  279. data/lib/chef/knife/ionoscloud_nodepool_get.rb +42 -0
  280. data/lib/chef/knife/ionoscloud_nodepool_lan_add.rb +4 -32
  281. data/lib/chef/knife/ionoscloud_nodepool_lan_remove.rb +3 -28
  282. data/lib/chef/knife/ionoscloud_nodepool_list.rb +2 -2
  283. data/lib/chef/knife/ionoscloud_nodepool_update.rb +123 -0
  284. data/lib/chef/knife/ionoscloud_pcc_create.rb +13 -19
  285. data/lib/chef/knife/ionoscloud_pcc_delete.rb +3 -11
  286. data/lib/chef/knife/ionoscloud_pcc_get.rb +32 -0
  287. data/lib/chef/knife/ionoscloud_pcc_list.rb +2 -2
  288. data/lib/chef/knife/ionoscloud_pcc_update.rb +62 -0
  289. data/lib/chef/knife/ionoscloud_request_get.rb +39 -0
  290. data/lib/chef/knife/ionoscloud_request_list.rb +2 -2
  291. data/lib/chef/knife/ionoscloud_request_status.rb +2 -2
  292. data/lib/chef/knife/ionoscloud_request_wait.rb +2 -2
  293. data/lib/chef/knife/ionoscloud_resource_list.rb +2 -2
  294. data/lib/chef/knife/ionoscloud_s3key_create.rb +3 -7
  295. data/lib/chef/knife/ionoscloud_s3key_delete.rb +3 -6
  296. data/lib/chef/knife/ionoscloud_s3key_get.rb +37 -0
  297. data/lib/chef/knife/ionoscloud_s3key_list.rb +2 -2
  298. data/lib/chef/knife/ionoscloud_server_console.rb +2 -2
  299. data/lib/chef/knife/ionoscloud_server_create.rb +16 -30
  300. data/lib/chef/knife/ionoscloud_server_delete.rb +4 -10
  301. data/lib/chef/knife/ionoscloud_server_get.rb +42 -0
  302. data/lib/chef/knife/ionoscloud_server_list.rb +2 -2
  303. data/lib/chef/knife/ionoscloud_server_reboot.rb +2 -2
  304. data/lib/chef/knife/ionoscloud_server_resume.rb +2 -2
  305. data/lib/chef/knife/ionoscloud_server_start.rb +2 -2
  306. data/lib/chef/knife/ionoscloud_server_stop.rb +2 -2
  307. data/lib/chef/knife/ionoscloud_server_suspend.rb +2 -2
  308. data/lib/chef/knife/ionoscloud_server_token.rb +2 -2
  309. data/lib/chef/knife/ionoscloud_server_update.rb +96 -0
  310. data/lib/chef/knife/ionoscloud_server_upgrade.rb +2 -2
  311. data/lib/chef/knife/ionoscloud_share_create.rb +9 -13
  312. data/lib/chef/knife/ionoscloud_share_delete.rb +4 -5
  313. data/lib/chef/knife/ionoscloud_share_get.rb +37 -0
  314. data/lib/chef/knife/ionoscloud_share_list.rb +2 -2
  315. data/lib/chef/knife/ionoscloud_share_update.rb +69 -0
  316. data/lib/chef/knife/ionoscloud_snapshot_create.rb +3 -11
  317. data/lib/chef/knife/ionoscloud_snapshot_delete.rb +3 -8
  318. data/lib/chef/knife/ionoscloud_snapshot_get.rb +31 -0
  319. data/lib/chef/knife/ionoscloud_snapshot_list.rb +2 -2
  320. data/lib/chef/knife/ionoscloud_snapshot_restore.rb +3 -14
  321. data/lib/chef/knife/ionoscloud_snapshot_update.rb +125 -0
  322. data/lib/chef/knife/ionoscloud_template_list.rb +2 -2
  323. data/lib/chef/knife/ionoscloud_user_create.rb +3 -10
  324. data/lib/chef/knife/ionoscloud_user_delete.rb +3 -8
  325. data/lib/chef/knife/ionoscloud_user_get.rb +31 -0
  326. data/lib/chef/knife/ionoscloud_user_list.rb +2 -2
  327. data/lib/chef/knife/ionoscloud_user_ssourl.rb +2 -2
  328. data/lib/chef/knife/ionoscloud_user_update.rb +91 -0
  329. data/lib/chef/knife/ionoscloud_volume_attach.rb +2 -2
  330. data/lib/chef/knife/ionoscloud_volume_create.rb +4 -15
  331. data/lib/chef/knife/ionoscloud_volume_delete.rb +4 -10
  332. data/lib/chef/knife/ionoscloud_volume_detach.rb +2 -2
  333. data/lib/chef/knife/ionoscloud_volume_get.rb +35 -0
  334. data/lib/chef/knife/ionoscloud_volume_list.rb +2 -2
  335. data/lib/chef/knife/ionoscloud_volume_update.rb +105 -0
  336. data/lib/knife-ionoscloud/version.rb +1 -1
  337. data/spec/chef/knife/ionoscloud_backupunit_get_spec.rb +65 -0
  338. data/spec/chef/knife/ionoscloud_backupunit_update_spec.rb +78 -0
  339. data/spec/chef/knife/ionoscloud_datacenter_create_spec.rb +3 -0
  340. data/spec/chef/knife/ionoscloud_datacenter_delete_spec.rb +3 -0
  341. data/spec/chef/knife/ionoscloud_datacenter_get_spec.rb +69 -0
  342. data/spec/chef/knife/ionoscloud_datacenter_update_spec.rb +82 -0
  343. data/spec/chef/knife/ionoscloud_dbaas_postgres_backup_get_spec.rb +67 -0
  344. data/spec/chef/knife/ionoscloud_dbaas_postgres_backup_list_spec.rb +111 -0
  345. data/spec/chef/knife/ionoscloud_dbaas_postgres_cluster_create_spec.rb +99 -0
  346. data/spec/chef/knife/ionoscloud_dbaas_postgres_cluster_delete_spec.rb +109 -0
  347. data/spec/chef/knife/ionoscloud_dbaas_postgres_cluster_get_spec.rb +73 -0
  348. data/spec/chef/knife/ionoscloud_dbaas_postgres_cluster_list_spec.rb +84 -0
  349. data/spec/chef/knife/ionoscloud_dbaas_postgres_cluster_restore_spec.rb +59 -0
  350. data/spec/chef/knife/ionoscloud_dbaas_postgres_cluster_update_spec.rb +89 -0
  351. data/spec/chef/knife/ionoscloud_dbaas_postgres_logs_get_spec.rb +67 -0
  352. data/spec/chef/knife/ionoscloud_dbaas_postgres_version_list_spec.rb +94 -0
  353. data/spec/chef/knife/ionoscloud_firewall_create_spec.rb +1 -1
  354. data/spec/chef/knife/ionoscloud_firewall_delete_spec.rb +1 -1
  355. data/spec/chef/knife/ionoscloud_firewall_get_spec.rb +77 -0
  356. data/spec/chef/knife/ionoscloud_firewall_update_spec.rb +117 -0
  357. data/spec/chef/knife/ionoscloud_flowlog_create_spec.rb +3 -3
  358. data/spec/chef/knife/ionoscloud_flowlog_delete_spec.rb +10 -10
  359. data/spec/chef/knife/ionoscloud_flowlog_get_spec.rb +171 -0
  360. data/spec/chef/knife/ionoscloud_flowlog_list_spec.rb +3 -3
  361. data/spec/chef/knife/ionoscloud_flowlog_update_spec.rb +244 -0
  362. data/spec/chef/knife/ionoscloud_group_create_spec.rb +3 -0
  363. data/spec/chef/knife/ionoscloud_group_update_spec.rb +121 -0
  364. data/spec/chef/knife/ionoscloud_group_user_add_spec.rb +6 -0
  365. data/spec/chef/knife/ionoscloud_group_user_remove_spec.rb +6 -0
  366. data/spec/chef/knife/ionoscloud_ipblock_get_spec.rb +66 -0
  367. data/spec/chef/knife/ionoscloud_ipblock_update_spec.rb +79 -0
  368. data/spec/chef/knife/ionoscloud_ipfailover_add_spec.rb +4 -4
  369. data/spec/chef/knife/ionoscloud_ipfailover_remove_spec.rb +7 -7
  370. data/spec/chef/knife/ionoscloud_k8s_create_spec.rb +7 -0
  371. data/spec/chef/knife/ionoscloud_k8s_delete_spec.rb +16 -11
  372. data/spec/chef/knife/ionoscloud_k8s_get_spec.rb +72 -0
  373. data/spec/chef/knife/ionoscloud_k8s_update_spec.rb +114 -0
  374. data/spec/chef/knife/ionoscloud_lan_create_spec.rb +4 -3
  375. data/spec/chef/knife/ionoscloud_lan_delete_spec.rb +7 -5
  376. data/spec/chef/knife/ionoscloud_lan_get_spec.rb +68 -0
  377. data/spec/chef/knife/ionoscloud_lan_list_spec.rb +2 -2
  378. data/spec/chef/knife/ionoscloud_lan_update_spec.rb +87 -0
  379. data/spec/chef/knife/ionoscloud_loadbalancer_update_spec.rb +89 -0
  380. data/spec/chef/knife/ionoscloud_natgateway_create_spec.rb +15 -0
  381. data/spec/chef/knife/ionoscloud_natgateway_get_spec.rb +81 -0
  382. data/spec/chef/knife/ionoscloud_natgateway_lan_add_spec.rb +15 -0
  383. data/spec/chef/knife/ionoscloud_natgateway_lan_remove_spec.rb +15 -0
  384. data/spec/chef/knife/ionoscloud_natgateway_rule_add_spec.rb +1 -0
  385. data/spec/chef/knife/ionoscloud_natgateway_rule_remove_spec.rb +1 -0
  386. data/spec/chef/knife/ionoscloud_natgateway_rule_update_spec.rb +121 -0
  387. data/spec/chef/knife/ionoscloud_natgateway_update_spec.rb +121 -0
  388. data/spec/chef/knife/ionoscloud_networkloadbalancer_create_spec.rb +13 -0
  389. data/spec/chef/knife/ionoscloud_networkloadbalancer_delete_spec.rb +3 -2
  390. data/spec/chef/knife/ionoscloud_networkloadbalancer_get_spec.rb +82 -0
  391. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_add_spec.rb +4 -3
  392. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_remove_spec.rb +70 -44
  393. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_add_spec.rb +26 -22
  394. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_remove_spec.rb +79 -61
  395. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_update_spec.rb +163 -0
  396. data/spec/chef/knife/ionoscloud_networkloadbalancer_update_spec.rb +107 -0
  397. data/spec/chef/knife/ionoscloud_nic_get_spec.rb +72 -0
  398. data/spec/chef/knife/ionoscloud_nic_update_spec.rb +97 -0
  399. data/spec/chef/knife/ionoscloud_node_get_spec.rb +70 -0
  400. data/spec/chef/knife/ionoscloud_nodepool_create_spec.rb +8 -17
  401. data/spec/chef/knife/ionoscloud_nodepool_delete_spec.rb +14 -0
  402. data/spec/chef/knife/ionoscloud_nodepool_get_spec.rb +83 -0
  403. data/spec/chef/knife/ionoscloud_nodepool_lan_add_spec.rb +29 -33
  404. data/spec/chef/knife/ionoscloud_nodepool_lan_remove.rb +14 -17
  405. data/spec/chef/knife/ionoscloud_nodepool_update_spec.rb +134 -0
  406. data/spec/chef/knife/ionoscloud_pcc_create_spec.rb +7 -4
  407. data/spec/chef/knife/ionoscloud_pcc_delete_spec.rb +2 -2
  408. data/spec/chef/knife/ionoscloud_pcc_get_spec.rb +71 -0
  409. data/spec/chef/knife/ionoscloud_pcc_update_spec.rb +83 -0
  410. data/spec/chef/knife/ionoscloud_request_get_spec.rb +69 -0
  411. data/spec/chef/knife/ionoscloud_s3key_get_spec.rb +66 -0
  412. data/spec/chef/knife/ionoscloud_server_create_spec.rb +3 -0
  413. data/spec/chef/knife/ionoscloud_server_delete_spec.rb +3 -0
  414. data/spec/chef/knife/ionoscloud_server_get_spec.rb +74 -0
  415. data/spec/chef/knife/ionoscloud_server_update_spec.rb +105 -0
  416. data/spec/chef/knife/ionoscloud_share_get_spec.rb +66 -0
  417. data/spec/chef/knife/ionoscloud_share_update_spec.rb +91 -0
  418. data/spec/chef/knife/ionoscloud_snapshot_create_spec.rb +12 -0
  419. data/spec/chef/knife/ionoscloud_snapshot_delete_spec.rb +12 -0
  420. data/spec/chef/knife/ionoscloud_snapshot_get_spec.rb +79 -0
  421. data/spec/chef/knife/ionoscloud_snapshot_restore_spec.rb +9 -0
  422. data/spec/chef/knife/ionoscloud_snapshot_update_spec.rb +113 -0
  423. data/spec/chef/knife/ionoscloud_user_create_spec.rb +3 -1
  424. data/spec/chef/knife/ionoscloud_user_delete_spec.rb +4 -2
  425. data/spec/chef/knife/ionoscloud_user_get_spec.rb +70 -0
  426. data/spec/chef/knife/ionoscloud_user_update_spec.rb +110 -0
  427. data/spec/chef/knife/ionoscloud_volume_create_spec.rb +15 -5
  428. data/spec/chef/knife/ionoscloud_volume_delete_spec.rb +10 -0
  429. data/spec/chef/knife/ionoscloud_volume_get_spec.rb +81 -0
  430. data/spec/chef/knife/ionoscloud_volume_update_spec.rb +116 -0
  431. data/spec/spec_helper.rb +148 -23
  432. metadata +336 -90
  433. data/docs/subcommands/k8s_create.md +0 -47
  434. data/spec/test.sh +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 475b719ef44823a6cb5c031100ed1b1eda199b297653f7342bb3076b73dd56b4
4
- data.tar.gz: 0c662d549b3a8f3ce5144e75f1a7e46eae51c12697f14fb2ebb3758d80a0a37e
3
+ metadata.gz: 844d50cdb67740c66e4509ae0d8ad0a95b486c3e31558c30d54f8f96a019f4a2
4
+ data.tar.gz: b8fdedf4d8c42e69c33306b67580c13c6522d0c2fc5927b5430909fbd6c62d30
5
5
  SHA512:
6
- metadata.gz: bace38ac3687134ca983fad4d3329b8d18c316c2ea6431a3472395b3b6ddbd9bd46e2421a620ac2ab0df85f0282559647833b9aa052b58a137468e73869790f3
7
- data.tar.gz: d730abe3bdf1950fe11b970d7dc7f964ff140080d12553a0d8447e88f0b19e504da3834324afdd411c5bfa210a69d080f55eb348a6eddf053edee626c2fa8c7f
6
+ metadata.gz: af364bfbcaa19a9471d22f48e4261a71f941ff2584618587161da76ae4691c0830e20357354a99628661f69bd013f9f6b57f5373d8ffb4ff029ffc270caafb35
7
+ data.tar.gz: 4a77204a6becf7a87452921a9379a394dbf788e9ad4c3fca24ed349a03d347b7dc1ee6e8495e8c0f27c07084f5f5d1bb1bb4aaf0d9708199076a1ccfdda7b978
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1077.17 255.12"><defs><style>.cls-1{fill:#003d8f;}</style></defs><title>IONOS.CLOUD Blu</title><g id="Ebene_3" data-name="Ebene 3"><path class="cls-1" d="M594.12,211.52a42.56,42.56,0,0,1-8.5-.86,44,44,0,0,1-29-20.73l-.15-.29a13,13,0,0,1,4.8-17.2,12.55,12.55,0,0,1,6.46-1.79,12.77,12.77,0,0,1,11.12,6.54c.13.22.28.47.44.71l1.35,1.84,1.82,1.84a17.69,17.69,0,0,0,8.29,4,18.21,18.21,0,0,0,14.3-3.27,17.27,17.27,0,0,0,7.18-12.93,17.86,17.86,0,0,0-5-13.88s-38.42-39.9-40.14-41.75a47.14,47.14,0,0,1-4.63-5.51c-5.42-7.68-7.12-16.74-6.28-25.7a41.75,41.75,0,0,1,5.41-17.77s1.76-3,2.28-3.73a48.36,48.36,0,0,1,8.78-8.95A45.36,45.36,0,0,1,580,47.67a42,42,0,0,1,54.79,16.91,12.45,12.45,0,0,1,1.33,9.65,12.73,12.73,0,0,1-6.07,7.85,12.21,12.21,0,0,1-6.23,1.69,12.68,12.68,0,0,1-11.05-6.5,16.69,16.69,0,0,0-11.18-7.91,17.35,17.35,0,0,0-13.56,3,16.5,16.5,0,0,0-6.41,12,16.82,16.82,0,0,0,4.57,13l39.28,40.5a43.5,43.5,0,0,1-31.38,73.68"/><path class="cls-1" d="M469.82,211.5a42.29,42.29,0,0,1-42.24-42.24V85.7a42.24,42.24,0,1,1,84.48,0v83.56a42.29,42.29,0,0,1-42.24,42.24m0-142.53A16.76,16.76,0,0,0,453.08,85.7v83.56A16.56,16.56,0,0,0,469.82,186a16.76,16.76,0,0,0,16.74-16.73V85.7A17,17,0,0,0,469.82,69"/><path class="cls-1" d="M305.61,129.64v69.1a12.75,12.75,0,0,1-25.5,0v-122Zm69.18,48.65V56.21a12.75,12.75,0,1,0-25.5,0v69.15ZM304.57,50.69l-.12-.24a13.06,13.06,0,0,0-11.54-6.92,11.84,11.84,0,0,0-2.57.27,12.48,12.48,0,0,0-10.07,12.41v2.91L350.4,204.5a13.14,13.14,0,0,0,11.32,7,11.22,11.22,0,0,0,2.92-.37,12.5,12.5,0,0,0,9.94-12.38V196l-70-145.3"/><path class="cls-1" d="M184.67,211.5a42.29,42.29,0,0,1-42.24-42.24V85.7a42.24,42.24,0,0,1,84.48,0v83.56a42.3,42.3,0,0,1-42.24,42.24m0-142.53A16.76,16.76,0,0,0,167.93,85.7v83.56a16.74,16.74,0,0,0,33.48,0V85.7A17,17,0,0,0,184.67,69"/><path class="cls-1" d="M75.19,211.43a13.8,13.8,0,0,1-13.86-14v-140l0-.27a13.89,13.89,0,0,1,27.29-3.46c.07.24.16.59.24,1l.09.6a14.23,14.23,0,0,1,.18,2.22s0,138.3,0,139.89a13.85,13.85,0,0,1-14,14.05"/><path class="cls-1" d="M709.85,211.61c-7.39,0-14.87-5-14.87-14.64V167.21c0-9.9,7.5-15.08,14.91-15.08s14.92,5.18,14.92,15.08a4.61,4.61,0,1,1-9.22,0,5.7,5.7,0,1,0-11.39,0V197c0,5.16,4.71,5.42,5.65,5.42.59,0,5.74-.15,5.74-5.23a4.61,4.61,0,1,1,9.22,0C724.81,206.54,717.1,211.61,709.85,211.61Z"/><path class="cls-1" d="M929.77,211.73c-7.32,0-14.73-5.2-14.73-15.13V156.45a4.44,4.44,0,1,1,8.88,0V196.6c0,4.61,3.15,6.25,5.85,6.25a6,6,0,0,0,4.05-1.52,6.52,6.52,0,0,0,1.83-5V156.45a4.44,4.44,0,1,1,8.88,0v39.89a15.19,15.19,0,0,1-4.62,11.46A14.74,14.74,0,0,1,929.77,211.73Z"/><path class="cls-1" d="M1005.17,211.83l-10.84-.12a4.43,4.43,0,0,1-4.39-4.43v-50.9a4.43,4.43,0,0,1,4.43-4.43l10.79,0c9.46,0,15.11,5.44,15.11,14.55v30.64C1020.27,206.19,1014.48,211.83,1005.17,211.83Zm-6.36-8.94,6.4.07c4.44,0,6.19-1.64,6.19-5.85V166.47c0-3.51-1-5.68-6.23-5.68h-6.36Z"/><path class="cls-1" d="M773.56,211.65a4.9,4.9,0,0,1-4.92-5V156.94a4.93,4.93,0,0,1,9.68-1.22c0,.08,0,.2.08.34l0,.22a5.38,5.38,0,0,1,.07.78s0,44.16,0,44.72H789a4.93,4.93,0,1,1,0,9.86H773.56Z"/><path class="cls-1" d="M853.28,211.66a15,15,0,0,1-15-15V167.06a14.92,14.92,0,0,1,2.49-8.27l6.55,13.6v24.29a5.88,5.88,0,0,0,5.94,5.94,6,6,0,0,0,5.93-5.64l4.89,10a14.92,14.92,0,0,1-10.82,4.64m0-50.54a6,6,0,0,0-5.93,5.57l-4.84-10a15,15,0,0,1,25.75,10.41v29.62a14.93,14.93,0,0,1-2.45,8.2l-6.6-13.63V167.06a6,6,0,0,0-5.93-5.94"/></g></svg>
@@ -46,9 +46,12 @@ jobs:
46
46
  id: old_version
47
47
  run: echo ::set-output name=VERSION::$(git tag --list "v*" --sort=version:refname | tail -n 2 | head -n 1)
48
48
 
49
+ - name: Get the release version
50
+ run: echo "RELEASE_VERSION=${GITHUB_REF:10}" >> $GITHUB_ENV
51
+
49
52
  - name: Check Version
50
53
  run: |
51
- if [ "${{ steps.new_version.outputs.VERSION }}" != v$(cat lib/knife-ionoscloud/version.rb | grep 'VERSION =' | tr -s ' ' | cut -d ' ' -f 4 | sed 's/^.//;s/.$//') ]; then
54
+ if [ $RELEASE_VERSION != v$(cat lib/knife-ionoscloud/version.rb | grep 'VERSION =' | tr -s ' ' | cut -d ' ' -f 4 | sed 's/^.//;s/.$//') ]; then
52
55
  echo "Tag version does not match the one from version.rb!"
53
56
  exit 1
54
57
  fi
data/README.md CHANGED
@@ -10,6 +10,15 @@
10
10
  [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=knife-plugin&metric=security_rating)](https://sonarcloud.io/dashboard?id=knife-plugin)
11
11
  [![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=knife-plugin&metric=vulnerabilities)](https://sonarcloud.io/dashboard?id=knife-plugin)
12
12
 
13
+ ![Alt text](.github/IONOS.CLOUD.BLU.svg?raw=true "Title")
14
+
15
+
16
+ ---
17
+ **NOTE:**
18
+ Be aware that the Chef IonosCloud Provider v6 will become main branch and it will be using the latest stable API Version.
19
+
20
+ ---
21
+
13
22
  ## Overview
14
23
 
15
24
  Chef is a popular configuration management tool that allows simplified configuration and maintenance of both servers and cloud provider environments through the use of common templates called recipes. The Chef `knife` command line tool allows management of various nodes within those environments. The `knife-ionoscloud` plugin utilizes the IONOS Cloud REST API to provision and manage various cloud resources on the IONOS Cloud platform.
data/docs/README.md CHANGED
@@ -2,6 +2,12 @@
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
 
5
+ ---
6
+ **NOTE:**
7
+ Be aware that the Chef IonosCloud Provider v6 will become main branch and it will be using the latest stable API Version.
8
+
9
+ ---
10
+
5
11
  ## Overview
6
12
 
7
13
  Chef is a popular configuration management tool that allows simplified configuration and maintenance of both servers and cloud provider environments through the use of common templates called recipes. The Chef `knife` command line tool allows management of various nodes within those environments. The `knife-ionoscloud` plugin utilizes the IONOS Cloud REST API to provision and manage various cloud resources on the IONOS Cloud platform.
@@ -67,6 +73,37 @@ $ export IONOSCLOUD_PASSWORD='password'
67
73
  $ rspec spec
68
74
  ```
69
75
 
76
+ ### Getting input from a file
77
+
78
+ In order to make passing JSON or array arguments easier, we allow you to specify a file which holds the arguments for a command. This is done with the
79
+ `--extra-config EXTRA_CONFIG_FILE_PATH` or `-e EXTRA_CONFIG_FILE_PATH`. The file is expected to contain a JSON which should map the name of arguments to their expected values. Here is an example of such a file.
80
+
81
+ ```json
82
+ {
83
+ "ionoscloud_username": "username",
84
+ "ionoscloud_password": "password",
85
+ "name": "test_datacenter_name",
86
+ "location": "de/txl"
87
+ }
88
+ ```
89
+
90
+ When using the command `knife ionoscloud datacenter create --extra-config EXTRA_CONFIG_FILE_PATH` where EXTRA_CONFIG_FILE_PATH is the name of the file containing the JSON above, the arguments described in the file will be used.
91
+
92
+ * If any of the arguments are set in any other way, the values from the file will be ignored. Running the command `knife ionoscloud datacenter create --location us/las --extra-config EXTRA_CONFIG_FILE_PATH` will create a datacenter in the 'us/las' location. In the same way if the values for ionoscloud_username and ionoscloud_password are already set in the knife.rb file, the contents from the JSON will be ignored.
93
+ * Only Ionoscloud specific options may be altered using this option.
94
+ * If an option is ignored because it is not on the available options list or if it is overwritten in another way then a warning message will be displayed.
95
+
96
+ ### Changing the API url
97
+
98
+ By changing API url the module will make all calls using the provided url. To change the API url used by the knife module, one can do either of the following:
99
+ * specify the new url using `--url NEW_URL`
100
+ * set it in a json file, using the `ionoscloud_url` key, and passing the file to the command like described in the section above
101
+ * set the new url in the knife.rb file. It could be set using an environmental variable, same as with the username and the password.
102
+
103
+ ```text
104
+ knife[:ionoscloud_url] = NEW_API_URL
105
+ ```
106
+
70
107
  ## Feature Reference
71
108
 
72
109
  The IONOS Cloud plugin for Knife aims to offer access to all resources in the IONOS Cloud API and also offers some additional features that make the integration easier:
data/docs/changelog.md CHANGED
@@ -1,2 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## 6.0.0
4
+
5
+ * First v6 stable release
6
+
7
+ ## 6.1.0
8
+
9
+ ### Enhancements:
10
+
11
+ * added support for Dbaas Postgres
12
+ * restructured documentation
@@ -3,11 +3,20 @@
3
3
  # This must be run from /docs directory
4
4
 
5
5
  require 'mustache'
6
+ require 'fileutils'
6
7
 
7
8
  $LOAD_PATH << '.'
8
9
 
9
10
  Dir["../lib/chef/knife/*.rb"].each { |file| require file }
10
11
 
12
+ FOLDER_TO_NAME_MAP = {
13
+ 'backup' => 'Managed Backup',
14
+ 'user' => 'User Management',
15
+ 'compute-engine' => 'Compute Engine',
16
+ 'kubernetes' => 'Managed Kubernetes',
17
+ 'dbaas-postgres' => 'DbaaS Postgres',
18
+ }.freeze
19
+
11
20
  def underscore_string(s)
12
21
  s.gsub(/::/, '/').
13
22
  gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2').
@@ -36,10 +45,10 @@ class Summary < Mustache
36
45
  self.template_path = './templates'
37
46
  self.template_file = './templates/summary.mustache'
38
47
 
39
- attr_accessor :subcommands
48
+ attr_accessor :categories
40
49
 
41
- def initialize(subcommands)
42
- @subcommands = subcommands || []
50
+ def initialize(categories)
51
+ @categories = categories || []
43
52
  end
44
53
  end
45
54
 
@@ -49,12 +58,18 @@ def generate_subcommand_doc(subcommand)
49
58
  value[:required] = subcommand.required_options.include? key
50
59
  value[:description][0] = value[:description][0].downcase
51
60
  value
52
- }.rotate(2)
61
+ }.rotate(3)
53
62
 
54
63
  subcommand_name = subcommand.class.to_s
55
64
  subcommand_name.slice!('Chef::Knife::Ionoscloud')
56
65
 
57
- filename = "subcommands/#{underscore_string(subcommand_name)}.md"
66
+ begin
67
+ filename = "subcommands/#{subcommand.directory}/#{underscore_string(subcommand_name)}.md"
68
+ category = FOLDER_TO_NAME_MAP[subcommand.directory]
69
+ rescue NoMethodError
70
+ filename = "subcommands/#{underscore_string(subcommand_name)}.md"
71
+ category = ''
72
+ end
58
73
 
59
74
  begin
60
75
  description = subcommand.description
@@ -62,6 +77,8 @@ def generate_subcommand_doc(subcommand)
62
77
  description = ''
63
78
  end
64
79
 
80
+ FileUtils.mkdir_p(File.dirname(filename)) unless File.directory?(File.dirname(filename))
81
+
65
82
  File.open(filename, 'w') { |f|
66
83
  f.write(
67
84
  Subcommand.new(
@@ -75,7 +92,11 @@ def generate_subcommand_doc(subcommand)
75
92
  }
76
93
 
77
94
  puts "Generated documentation for #{subcommand_name}."
78
- return subcommand_name, filename
95
+ {
96
+ title: subcommand_name,
97
+ filename: filename,
98
+ category: category,
99
+ }
79
100
  end
80
101
 
81
102
  subcommands = []
@@ -85,13 +106,14 @@ begin
85
106
  Chef::Knife.const_get(c).is_a?(Class) && c.to_s.start_with?('Ionoscloud')
86
107
  }.each {
87
108
  |subcommand|
109
+ # if subcommand.to_s == 'IonoscloudBackupunitCreate'
88
110
  begin
89
- subcommand_name, filename = generate_subcommand_doc(Chef::Knife.const_get(subcommand).new)
90
- subcommands.append({ title: subcommand_name, filename: filename })
111
+ subcommands.append(generate_subcommand_doc(Chef::Knife.const_get(subcommand).new))
91
112
  rescue Exception => exc
92
113
  puts "Could not generate doc for #{subcommand}. Error: #{exc}"
93
114
  # raise exc
94
115
  end
116
+ # end
95
117
  }
96
118
  rescue NameError => exc
97
119
  if exc.message == 'uninitialized constant Chef'
@@ -100,8 +122,21 @@ rescue NameError => exc
100
122
  raise exc
101
123
  end
102
124
 
103
- subcommands.sort! { |a, b| a[:title] <=> b[:title] }
125
+ categories = {}
126
+
127
+ subcommands.map do |subcommand|
128
+ if categories.key?(subcommand[:category])
129
+ categories[subcommand[:category]] << subcommand
130
+ else
131
+ categories[subcommand[:category]] = [subcommand]
132
+ end
133
+ end
134
+
135
+
136
+ final = []
137
+
138
+ categories.map { |key, value| final << { category: key, subcommands: value } }
104
139
 
105
140
  File.open('summary.md', 'w') { |f|
106
- f.write(Summary.new(subcommands).render,)
141
+ f.write(Summary.new(final).render)
107
142
  }
@@ -17,6 +17,9 @@ knife ionoscloud backupunit create (options)
17
17
  * ionoscloud\_password
18
18
 
19
19
  ```text
20
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
21
+ path to the additional config file
22
+
20
23
  name: --name NAME, -n NAME
21
24
  alphanumeric name you want assigned to the backup unit (required)
22
25
 
@@ -32,9 +35,12 @@ knife ionoscloud backupunit create (options)
32
35
  ionoscloud_password: --password PASSWORD, -p PASSWORD
33
36
  your Ionoscloud password (required)
34
37
 
38
+ ionoscloud_url: --url URL
39
+ the Ionoscloud API URL
40
+
35
41
  ```
36
42
  ## Example
37
43
 
38
44
  ```text
39
- knife ionoscloud backupunit create --name NAME --password PASSWORD --email EMAIL --username USERNAME --password PASSWORD
45
+ knife ionoscloud backupunit create --extra-config EXTRA_CONFIG_FILE_PATH --name NAME --password PASSWORD --email EMAIL --username USERNAME --password PASSWORD --url URL
40
46
  ```
@@ -14,15 +14,21 @@ knife ionoscloud backupunit delete BACKUPUNIT_ID [BACKUPUNIT_ID]
14
14
  * ionoscloud\_password
15
15
 
16
16
  ```text
17
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
18
+ path to the additional config file
19
+
17
20
  ionoscloud_username: --username USERNAME, -u USERNAME
18
21
  your Ionoscloud username (required)
19
22
 
20
23
  ionoscloud_password: --password PASSWORD, -p PASSWORD
21
24
  your Ionoscloud password (required)
22
25
 
26
+ ionoscloud_url: --url URL
27
+ the Ionoscloud API URL
28
+
23
29
  ```
24
30
  ## Example
25
31
 
26
32
  ```text
27
- knife ionoscloud backupunit delete BACKUPUNIT_ID [BACKUPUNIT_ID]--username USERNAME --password PASSWORD
33
+ knife ionoscloud backupunit delete BACKUPUNIT_ID [BACKUPUNIT_ID]--extra-config EXTRA_CONFIG_FILE_PATH --username USERNAME --password PASSWORD --url URL
28
34
  ```
@@ -0,0 +1,38 @@
1
+ # BackupunitGet
2
+
3
+ Retrieves information about a backup unit.
4
+
5
+ ```text
6
+ knife ionoscloud backupunit get (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * backupunit\_id
14
+ * ionoscloud\_username
15
+ * ionoscloud\_password
16
+
17
+ ```text
18
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
19
+ path to the additional config file
20
+
21
+ backupunit_id: --backupunit-id BACKUPUNIT_ID, -B BACKUPUNIT_ID
22
+ the ID of the Backup unit. (required)
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
+ ionoscloud_url: --url URL
31
+ the Ionoscloud API URL
32
+
33
+ ```
34
+ ## Example
35
+
36
+ ```text
37
+ knife ionoscloud backupunit get --extra-config EXTRA_CONFIG_FILE_PATH --backupunit-id BACKUPUNIT_ID --username USERNAME --password PASSWORD --url URL
38
+ ```
@@ -14,15 +14,21 @@ knife ionoscloud backupunit list
14
14
  * ionoscloud\_password
15
15
 
16
16
  ```text
17
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
18
+ path to the additional config file
19
+
17
20
  ionoscloud_username: --username USERNAME, -u USERNAME
18
21
  your Ionoscloud username (required)
19
22
 
20
23
  ionoscloud_password: --password PASSWORD, -p PASSWORD
21
24
  your Ionoscloud password (required)
22
25
 
26
+ ionoscloud_url: --url URL
27
+ the Ionoscloud API URL
28
+
23
29
  ```
24
30
  ## Example
25
31
 
26
32
  ```text
27
- knife ionoscloud backupunit list--username USERNAME --password PASSWORD
33
+ knife ionoscloud backupunit list--extra-config EXTRA_CONFIG_FILE_PATH --username USERNAME --password PASSWORD --url URL
28
34
  ```
@@ -15,6 +15,9 @@ knife ionoscloud backupunit ssourl (options)
15
15
  * ionoscloud\_password
16
16
 
17
17
  ```text
18
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
19
+ path to the additional config file
20
+
18
21
  backupunit_id: --backupunit-id BACKUPUNIT_ID, -B BACKUPUNIT_ID
19
22
  the ID of the Backup unit. (required)
20
23
 
@@ -24,9 +27,12 @@ knife ionoscloud backupunit ssourl (options)
24
27
  ionoscloud_password: --password PASSWORD, -p PASSWORD
25
28
  your Ionoscloud password (required)
26
29
 
30
+ ionoscloud_url: --url URL
31
+ the Ionoscloud API URL
32
+
27
33
  ```
28
34
  ## Example
29
35
 
30
36
  ```text
31
- knife ionoscloud backupunit ssourl --backupunit-id BACKUPUNIT_ID --username USERNAME --password PASSWORD
37
+ knife ionoscloud backupunit ssourl --extra-config EXTRA_CONFIG_FILE_PATH --backupunit-id BACKUPUNIT_ID --username USERNAME --password PASSWORD --url URL
32
38
  ```
@@ -0,0 +1,44 @@
1
+ # BackupunitUpdate
2
+
3
+ Retrieves information about a backup unit.
4
+
5
+ ```text
6
+ knife ionoscloud backupunit update (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * backupunit\_id
14
+ * ionoscloud\_username
15
+ * ionoscloud\_password
16
+
17
+ ```text
18
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
19
+ path to the additional config file
20
+
21
+ backupunit_id: --backupunit-id BACKUPUNIT_ID, -B BACKUPUNIT_ID
22
+ the ID of the Backup unit. (required)
23
+
24
+ password: --password PASSWORD, -p PASSWORD
25
+ alphanumeric password you want assigned to the backup unit
26
+
27
+ email: --email EMAIL
28
+ the e-mail address you want assigned to the backup unit.
29
+
30
+ ionoscloud_username: --username USERNAME, -u USERNAME
31
+ your Ionoscloud username (required)
32
+
33
+ ionoscloud_password: --password PASSWORD, -p PASSWORD
34
+ your Ionoscloud password (required)
35
+
36
+ ionoscloud_url: --url URL
37
+ the Ionoscloud API URL
38
+
39
+ ```
40
+ ## Example
41
+
42
+ ```text
43
+ knife ionoscloud backupunit update --extra-config EXTRA_CONFIG_FILE_PATH --backupunit-id BACKUPUNIT_ID --password PASSWORD --email EMAIL --username USERNAME --password PASSWORD --url URL
44
+ ```
@@ -22,6 +22,9 @@ knife ionoscloud composite server create (options)
22
22
  * ionoscloud\_password
23
23
 
24
24
  ```text
25
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
26
+ path to the additional config file
27
+
25
28
  datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
26
29
  name of the virtual datacenter (required)
27
30
 
@@ -70,6 +73,12 @@ knife ionoscloud composite server create (options)
70
73
  ssh_keys: --ssh-keys SSHKEY1,SSHKEY2,..., -K SSHKEY[,SSHKEY,...]
71
74
  a list of public SSH keys to include
72
75
 
76
+ backupunit_id: --backupunit BACKUPUNIT_ID, -B BACKUPUNIT_ID
77
+ 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.
78
+
79
+ user_data: --user-data USER_DATA, -u USER_DATA
80
+ 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.
81
+
73
82
  nic_name: --nic-name NAME
74
83
  name of the NIC
75
84
 
@@ -82,8 +91,8 @@ knife ionoscloud composite server create (options)
82
91
  lan: --lan ID, -L ID
83
92
  the LAN ID the NIC will reside on; if the LAN ID does not exist it will be created (required)
84
93
 
85
- nat: --nat
86
- set to enable NAT on the NIC
94
+ firewall_type: --firewall-type FIREWALL_TYPE
95
+ 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
96
 
88
97
  ionoscloud_username: --username USERNAME, -u USERNAME
89
98
  your Ionoscloud username (required)
@@ -91,9 +100,12 @@ knife ionoscloud composite server create (options)
91
100
  ionoscloud_password: --password PASSWORD, -p PASSWORD
92
101
  your Ionoscloud password (required)
93
102
 
103
+ ionoscloud_url: --url URL
104
+ the Ionoscloud API URL
105
+
94
106
  ```
95
107
  ## Example
96
108
 
97
109
  ```text
98
- knife ionoscloud composite server create --datacenter-id DATACENTER_ID --name NAME --cores CORES --cpu-family CPU_FAMILY --ram RAM --availability-zone AVAILABILITY_ZONE --volume-name NAME --size SIZE --bus BUS --image ID --image-alias IMAGE_ALIAS --type TYPE --licence-type LICENCE --image-password PASSWORD --volume-availability-zone AVAILABILITY_ZONE --ssh-keys SSHKEY1,SSHKEY2,... --nic-name NAME --ips IP[,IP,...] --dhcp --lan ID --nat --username USERNAME --password PASSWORD
110
+ knife ionoscloud composite server create --extra-config EXTRA_CONFIG_FILE_PATH --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 --url URL
99
111
  ```
@@ -0,0 +1,94 @@
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
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
21
+ path to the additional config file
22
+
23
+ datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
24
+ name of the virtual datacenter (required)
25
+
26
+ name: --name NAME, -n NAME
27
+ (required) Name of the server (required)
28
+
29
+ template: --template TEMPLATE_UUID
30
+ the UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource (required)
31
+
32
+ cpu_family: --cpu-family CPU_FAMILY, -f CPU_FAMILY
33
+ the family of processor cores (INTEL_XEON or AMD_OPTERON)
34
+
35
+ availability_zone: --availability-zone AVAILABILITY_ZONE, -a AVAILABILITY_ZONE
36
+ the availability zone of the server
37
+
38
+ volume_name: --volume-name NAME
39
+ name of the volume
40
+
41
+ bus: --bus BUS, -b BUS
42
+ the bus type of the volume (VIRTIO or IDE)
43
+
44
+ image: --image ID, -N ID
45
+ (required) The image or snapshot ID
46
+
47
+ licence_type: --licence-type LICENCE, -l LICENCE
48
+ the licence type of the volume (LINUX, WINDOWS, WINDOWS2016, UNKNOWN, OTHER)
49
+
50
+ image_password: --image-password PASSWORD, -P PASSWORD
51
+ the password set on the image for the "root" or "Administrator" user
52
+
53
+ ssh_keys: --ssh-keys SSHKEY1,SSHKEY2,..., -K SSHKEY[,SSHKEY,...]
54
+ a list of public SSH keys to include
55
+
56
+ backupunit_id: --backupunit BACKUPUNIT_ID, -B BACKUPUNIT_ID
57
+ 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.
58
+
59
+ user_data: --user-data USER_DATA, -u USER_DATA
60
+ 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.
61
+
62
+ set_boot: --set-boot
63
+ whether to set the volume as the boot volume
64
+
65
+ nic_name: --nic-name NAME
66
+ name of the NIC
67
+
68
+ ips: --ips IP[,IP,...], -i IP[,IP,...]
69
+ iPs assigned to the NIC
70
+
71
+ dhcp: --dhcp, -h
72
+ set to false if you wish to disable DHCP
73
+
74
+ lan: --lan ID, -L ID
75
+ the LAN ID the NIC will reside on; if the LAN ID does not exist it will be created
76
+
77
+ firewall_type: --firewall-type FIREWALL_TYPE, -t FIREWALL_TYPE
78
+ the type of firewall rules that will be allowed on the NIC. If it is not specified it will take the default value INGRESS
79
+
80
+ ionoscloud_username: --username USERNAME, -u USERNAME
81
+ your Ionoscloud username (required)
82
+
83
+ ionoscloud_password: --password PASSWORD, -p PASSWORD
84
+ your Ionoscloud password (required)
85
+
86
+ ionoscloud_url: --url URL
87
+ the Ionoscloud API URL
88
+
89
+ ```
90
+ ## Example
91
+
92
+ ```text
93
+ knife ionoscloud cube server create --extra-config EXTRA_CONFIG_FILE_PATH --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 --url URL
94
+ ```
@@ -22,6 +22,9 @@ knife ionoscloud datacenter create (options)
22
22
  * ionoscloud\_password
23
23
 
24
24
  ```text
25
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
26
+ path to the additional config file
27
+
25
28
  name: --name NAME, -n NAME
26
29
  name of the data center
27
30
 
@@ -37,9 +40,12 @@ knife ionoscloud datacenter create (options)
37
40
  ionoscloud_password: --password PASSWORD, -p PASSWORD
38
41
  your Ionoscloud password (required)
39
42
 
43
+ ionoscloud_url: --url URL
44
+ the Ionoscloud API URL
45
+
40
46
  ```
41
47
  ## Example
42
48
 
43
49
  ```text
44
- knife ionoscloud datacenter create --name NAME --description DESCRIPTION --location LOCATION --username USERNAME --password PASSWORD
50
+ knife ionoscloud datacenter create --extra-config EXTRA_CONFIG_FILE_PATH --name NAME --description DESCRIPTION --location LOCATION --username USERNAME --password PASSWORD --url URL
45
51
  ```
@@ -14,15 +14,21 @@ knife ionoscloud datacenter delete DATACENTER_ID [DATACENTER_ID]
14
14
  * ionoscloud\_password
15
15
 
16
16
  ```text
17
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
18
+ path to the additional config file
19
+
17
20
  ionoscloud_username: --username USERNAME, -u USERNAME
18
21
  your Ionoscloud username (required)
19
22
 
20
23
  ionoscloud_password: --password PASSWORD, -p PASSWORD
21
24
  your Ionoscloud password (required)
22
25
 
26
+ ionoscloud_url: --url URL
27
+ the Ionoscloud API URL
28
+
23
29
  ```
24
30
  ## Example
25
31
 
26
32
  ```text
27
- knife ionoscloud datacenter delete DATACENTER_ID [DATACENTER_ID]--username USERNAME --password PASSWORD
33
+ knife ionoscloud datacenter delete DATACENTER_ID [DATACENTER_ID]--extra-config EXTRA_CONFIG_FILE_PATH --username USERNAME --password PASSWORD --url URL
28
34
  ```
@@ -0,0 +1,38 @@
1
+ # DatacenterGet
2
+
3
+ Retrieves information about a Ionoscloud Datacenter.
4
+
5
+ ```text
6
+ knife ionoscloud datacenter get (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * ionoscloud\_username
15
+ * ionoscloud\_password
16
+
17
+ ```text
18
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
19
+ path to the additional config file
20
+
21
+ datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
22
+ iD of the data center (required)
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
+ ionoscloud_url: --url URL
31
+ the Ionoscloud API URL
32
+
33
+ ```
34
+ ## Example
35
+
36
+ ```text
37
+ knife ionoscloud datacenter get --extra-config EXTRA_CONFIG_FILE_PATH --datacenter-id DATACENTER_ID --username USERNAME --password PASSWORD --url URL
38
+ ```
@@ -14,15 +14,21 @@ knife ionoscloud datacenter list
14
14
  * ionoscloud\_password
15
15
 
16
16
  ```text
17
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
18
+ path to the additional config file
19
+
17
20
  ionoscloud_username: --username USERNAME, -u USERNAME
18
21
  your Ionoscloud username (required)
19
22
 
20
23
  ionoscloud_password: --password PASSWORD, -p PASSWORD
21
24
  your Ionoscloud password (required)
22
25
 
26
+ ionoscloud_url: --url URL
27
+ the Ionoscloud API URL
28
+
23
29
  ```
24
30
  ## Example
25
31
 
26
32
  ```text
27
- knife ionoscloud datacenter list--username USERNAME --password PASSWORD
33
+ knife ionoscloud datacenter list--extra-config EXTRA_CONFIG_FILE_PATH --username USERNAME --password PASSWORD --url URL
28
34
  ```