knife-ionoscloud 6.0.0 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (348) hide show
  1. checksums.yaml +4 -4
  2. data/.github/IONOS.CLOUD.BLU.svg +1 -0
  3. data/README.md +9 -0
  4. data/docs/README.md +6 -0
  5. data/docs/changelog.md +10 -0
  6. data/docs/docs_generator.rb +44 -9
  7. data/docs/subcommands/{backupunit_create.md → backup/backupunit_create.md} +1 -1
  8. data/docs/subcommands/{backupunit_delete.md → backup/backupunit_delete.md} +0 -0
  9. data/docs/subcommands/{backupunit_get.md → backup/backupunit_get.md} +0 -0
  10. data/docs/subcommands/{backupunit_list.md → backup/backupunit_list.md} +0 -0
  11. data/docs/subcommands/{backupunit_ssourl.md → backup/backupunit_ssourl.md} +0 -0
  12. data/docs/subcommands/{backupunit_update.md → backup/backupunit_update.md} +0 -0
  13. data/docs/subcommands/{composite_server_create.md → compute-engine/composite_server_create.md} +9 -3
  14. data/docs/subcommands/{cube_server_create.md → compute-engine/cube_server_create.md} +0 -0
  15. data/docs/subcommands/{datacenter_create.md → compute-engine/datacenter_create.md} +0 -0
  16. data/docs/subcommands/{datacenter_delete.md → compute-engine/datacenter_delete.md} +0 -0
  17. data/docs/subcommands/{datacenter_get.md → compute-engine/datacenter_get.md} +0 -0
  18. data/docs/subcommands/{datacenter_list.md → compute-engine/datacenter_list.md} +0 -0
  19. data/docs/subcommands/{datacenter_update.md → compute-engine/datacenter_update.md} +0 -0
  20. data/docs/subcommands/{firewall_create.md → compute-engine/firewall_create.md} +6 -3
  21. data/docs/subcommands/{firewall_delete.md → compute-engine/firewall_delete.md} +0 -0
  22. data/docs/subcommands/{firewall_get.md → compute-engine/firewall_get.md} +0 -0
  23. data/docs/subcommands/{firewall_list.md → compute-engine/firewall_list.md} +0 -0
  24. data/docs/subcommands/{firewall_update.md → compute-engine/firewall_update.md} +0 -0
  25. data/docs/subcommands/{flowlog_create.md → compute-engine/flowlog_create.md} +0 -0
  26. data/docs/subcommands/{flowlog_delete.md → compute-engine/flowlog_delete.md} +0 -0
  27. data/docs/subcommands/{flowlog_get.md → compute-engine/flowlog_get.md} +0 -0
  28. data/docs/subcommands/{flowlog_list.md → compute-engine/flowlog_list.md} +0 -0
  29. data/docs/subcommands/{flowlog_update.md → compute-engine/flowlog_update.md} +0 -0
  30. data/docs/subcommands/{image_list.md → compute-engine/image_list.md} +0 -0
  31. data/docs/subcommands/{ipblock_create.md → compute-engine/ipblock_create.md} +0 -0
  32. data/docs/subcommands/{ipblock_delete.md → compute-engine/ipblock_delete.md} +0 -0
  33. data/docs/subcommands/{ipblock_get.md → compute-engine/ipblock_get.md} +0 -0
  34. data/docs/subcommands/{ipblock_list.md → compute-engine/ipblock_list.md} +0 -0
  35. data/docs/subcommands/{ipblock_update.md → compute-engine/ipblock_update.md} +0 -0
  36. data/docs/subcommands/{ipfailover_add.md → compute-engine/ipfailover_add.md} +0 -0
  37. data/docs/subcommands/{ipfailover_remove.md → compute-engine/ipfailover_remove.md} +0 -0
  38. data/docs/subcommands/{label_add.md → compute-engine/label_add.md} +0 -0
  39. data/docs/subcommands/{label_list.md → compute-engine/label_list.md} +0 -0
  40. data/docs/subcommands/{label_remove.md → compute-engine/label_remove.md} +0 -0
  41. data/docs/subcommands/{lan_create.md → compute-engine/lan_create.md} +0 -0
  42. data/docs/subcommands/{lan_delete.md → compute-engine/lan_delete.md} +0 -0
  43. data/docs/subcommands/{lan_get.md → compute-engine/lan_get.md} +0 -0
  44. data/docs/subcommands/{lan_list.md → compute-engine/lan_list.md} +0 -0
  45. data/docs/subcommands/{lan_update.md → compute-engine/lan_update.md} +1 -4
  46. data/docs/subcommands/{loadbalancer_create.md → compute-engine/loadbalancer_create.md} +1 -1
  47. data/docs/subcommands/{loadbalancer_delete.md → compute-engine/loadbalancer_delete.md} +0 -0
  48. data/docs/subcommands/{loadbalancer_get.md → compute-engine/loadbalancer_get.md} +0 -0
  49. data/docs/subcommands/{loadbalancer_list.md → compute-engine/loadbalancer_list.md} +0 -0
  50. data/docs/subcommands/{loadbalancer_nic_add.md → compute-engine/loadbalancer_nic_add.md} +0 -0
  51. data/docs/subcommands/{loadbalancer_nic_remove.md → compute-engine/loadbalancer_nic_remove.md} +0 -0
  52. data/docs/subcommands/{loadbalancer_update.md → compute-engine/loadbalancer_update.md} +0 -0
  53. data/docs/subcommands/{location_list.md → compute-engine/location_list.md} +0 -0
  54. data/docs/subcommands/{natgateway_create.md → compute-engine/natgateway_create.md} +0 -0
  55. data/docs/subcommands/{natgateway_delete.md → compute-engine/natgateway_delete.md} +0 -0
  56. data/docs/subcommands/{natgateway_get.md → compute-engine/natgateway_get.md} +0 -0
  57. data/docs/subcommands/{natgateway_lan_add.md → compute-engine/natgateway_lan_add.md} +0 -0
  58. data/docs/subcommands/{natgateway_lan_remove.md → compute-engine/natgateway_lan_remove.md} +0 -0
  59. data/docs/subcommands/{natgateway_list.md → compute-engine/natgateway_list.md} +0 -0
  60. data/docs/subcommands/{natgateway_rule_add.md → compute-engine/natgateway_rule_add.md} +0 -0
  61. data/docs/subcommands/{natgateway_rule_list.md → compute-engine/natgateway_rule_list.md} +0 -0
  62. data/docs/subcommands/{natgateway_rule_remove.md → compute-engine/natgateway_rule_remove.md} +0 -0
  63. data/docs/subcommands/{natgateway_rule_update.md → compute-engine/natgateway_rule_update.md} +0 -0
  64. data/docs/subcommands/{natgateway_update.md → compute-engine/natgateway_update.md} +0 -0
  65. data/docs/subcommands/{networkloadbalancer_create.md → compute-engine/networkloadbalancer_create.md} +0 -0
  66. data/docs/subcommands/{networkloadbalancer_delete.md → compute-engine/networkloadbalancer_delete.md} +0 -0
  67. data/docs/subcommands/{networkloadbalancer_get.md → compute-engine/networkloadbalancer_get.md} +0 -0
  68. data/docs/subcommands/{networkloadbalancer_list.md → compute-engine/networkloadbalancer_list.md} +0 -0
  69. data/docs/subcommands/{networkloadbalancer_rule_add.md → compute-engine/networkloadbalancer_rule_add.md} +0 -0
  70. data/docs/subcommands/{networkloadbalancer_rule_list.md → compute-engine/networkloadbalancer_rule_list.md} +0 -0
  71. data/docs/subcommands/{networkloadbalancer_rule_remove.md → compute-engine/networkloadbalancer_rule_remove.md} +0 -0
  72. data/docs/subcommands/{networkloadbalancer_rule_target_add.md → compute-engine/networkloadbalancer_rule_target_add.md} +0 -0
  73. data/docs/subcommands/{networkloadbalancer_rule_target_list.md → compute-engine/networkloadbalancer_rule_target_list.md} +0 -0
  74. data/docs/subcommands/{networkloadbalancer_rule_target_remove.md → compute-engine/networkloadbalancer_rule_target_remove.md} +0 -0
  75. data/docs/subcommands/{networkloadbalancer_rule_update.md → compute-engine/networkloadbalancer_rule_update.md} +0 -0
  76. data/docs/subcommands/{networkloadbalancer_update.md → compute-engine/networkloadbalancer_update.md} +0 -0
  77. data/docs/subcommands/{nic_create.md → compute-engine/nic_create.md} +4 -4
  78. data/docs/subcommands/{nic_delete.md → compute-engine/nic_delete.md} +1 -1
  79. data/docs/subcommands/{nic_get.md → compute-engine/nic_get.md} +0 -0
  80. data/docs/subcommands/{nic_list.md → compute-engine/nic_list.md} +0 -0
  81. data/docs/subcommands/{nic_update.md → compute-engine/nic_update.md} +3 -3
  82. data/docs/subcommands/{pcc_create.md → compute-engine/pcc_create.md} +0 -0
  83. data/docs/subcommands/{pcc_delete.md → compute-engine/pcc_delete.md} +0 -0
  84. data/docs/subcommands/{pcc_get.md → compute-engine/pcc_get.md} +0 -0
  85. data/docs/subcommands/{pcc_list.md → compute-engine/pcc_list.md} +0 -0
  86. data/docs/subcommands/{pcc_update.md → compute-engine/pcc_update.md} +0 -0
  87. data/docs/subcommands/{request_get.md → compute-engine/request_get.md} +0 -0
  88. data/docs/subcommands/{request_list.md → compute-engine/request_list.md} +0 -0
  89. data/docs/subcommands/{request_status.md → compute-engine/request_status.md} +0 -0
  90. data/docs/subcommands/{request_wait.md → compute-engine/request_wait.md} +0 -0
  91. data/docs/subcommands/{server_console.md → compute-engine/server_console.md} +0 -0
  92. data/docs/subcommands/{server_create.md → compute-engine/server_create.md} +0 -0
  93. data/docs/subcommands/{server_delete.md → compute-engine/server_delete.md} +0 -0
  94. data/docs/subcommands/{server_get.md → compute-engine/server_get.md} +0 -0
  95. data/docs/subcommands/{server_list.md → compute-engine/server_list.md} +4 -1
  96. data/docs/subcommands/{server_reboot.md → compute-engine/server_reboot.md} +0 -0
  97. data/docs/subcommands/{server_resume.md → compute-engine/server_resume.md} +0 -0
  98. data/docs/subcommands/{server_start.md → compute-engine/server_start.md} +0 -0
  99. data/docs/subcommands/{server_stop.md → compute-engine/server_stop.md} +0 -0
  100. data/docs/subcommands/{server_suspend.md → compute-engine/server_suspend.md} +0 -0
  101. data/docs/subcommands/{server_token.md → compute-engine/server_token.md} +0 -0
  102. data/docs/subcommands/{server_update.md → compute-engine/server_update.md} +0 -0
  103. data/docs/subcommands/{server_upgrade.md → compute-engine/server_upgrade.md} +0 -0
  104. data/docs/subcommands/{snapshot_create.md → compute-engine/snapshot_create.md} +0 -0
  105. data/docs/subcommands/{snapshot_delete.md → compute-engine/snapshot_delete.md} +0 -0
  106. data/docs/subcommands/{snapshot_get.md → compute-engine/snapshot_get.md} +0 -0
  107. data/docs/subcommands/{snapshot_list.md → compute-engine/snapshot_list.md} +0 -0
  108. data/docs/subcommands/{snapshot_restore.md → compute-engine/snapshot_restore.md} +0 -0
  109. data/docs/subcommands/{snapshot_update.md → compute-engine/snapshot_update.md} +10 -10
  110. data/docs/subcommands/{template_list.md → compute-engine/template_list.md} +0 -0
  111. data/docs/subcommands/{volume_attach.md → compute-engine/volume_attach.md} +0 -0
  112. data/docs/subcommands/{volume_create.md → compute-engine/volume_create.md} +2 -23
  113. data/docs/subcommands/{volume_delete.md → compute-engine/volume_delete.md} +0 -0
  114. data/docs/subcommands/{volume_detach.md → compute-engine/volume_detach.md} +0 -0
  115. data/docs/subcommands/{volume_get.md → compute-engine/volume_get.md} +0 -0
  116. data/docs/subcommands/{volume_list.md → compute-engine/volume_list.md} +0 -0
  117. data/docs/subcommands/{volume_update.md → compute-engine/volume_update.md} +0 -0
  118. data/docs/subcommands/dbaas-postgres/dbaas_postgres_backup_get.md +38 -0
  119. data/docs/subcommands/dbaas-postgres/dbaas_postgres_backup_list.md +38 -0
  120. data/docs/subcommands/dbaas-postgres/dbaas_postgres_cluster_create.md +100 -0
  121. data/docs/subcommands/dbaas-postgres/dbaas_postgres_cluster_delete.md +34 -0
  122. data/docs/subcommands/dbaas-postgres/dbaas_postgres_cluster_get.md +38 -0
  123. data/docs/subcommands/dbaas-postgres/dbaas_postgres_cluster_list.md +34 -0
  124. data/docs/subcommands/dbaas-postgres/dbaas_postgres_cluster_restore.md +44 -0
  125. data/docs/subcommands/dbaas-postgres/dbaas_postgres_cluster_update.md +65 -0
  126. data/docs/subcommands/dbaas-postgres/dbaas_postgres_logs_get.md +47 -0
  127. data/docs/subcommands/dbaas-postgres/dbaas_postgres_version_list.md +38 -0
  128. data/docs/subcommands/{k8s_create.md → kubernetes/k8s_create.md} +5 -5
  129. data/docs/subcommands/{k8s_delete.md → kubernetes/k8s_delete.md} +0 -0
  130. data/docs/subcommands/{k8s_get.md → kubernetes/k8s_get.md} +0 -0
  131. data/docs/subcommands/{k8s_list.md → kubernetes/k8s_list.md} +0 -0
  132. data/docs/subcommands/{k8s_update.md → kubernetes/k8s_update.md} +0 -0
  133. data/docs/subcommands/{kubeconfig_get.md → kubernetes/kubeconfig_get.md} +0 -0
  134. data/docs/subcommands/{node_delete.md → kubernetes/node_delete.md} +0 -0
  135. data/docs/subcommands/{node_get.md → kubernetes/node_get.md} +0 -0
  136. data/docs/subcommands/{node_list.md → kubernetes/node_list.md} +0 -0
  137. data/docs/subcommands/{node_replace.md → kubernetes/node_replace.md} +0 -0
  138. data/docs/subcommands/{nodepool_create.md → kubernetes/nodepool_create.md} +4 -4
  139. data/docs/subcommands/{nodepool_delete.md → kubernetes/nodepool_delete.md} +0 -0
  140. data/docs/subcommands/{nodepool_get.md → kubernetes/nodepool_get.md} +0 -0
  141. data/docs/subcommands/{nodepool_lan_add.md → kubernetes/nodepool_lan_add.md} +0 -0
  142. data/docs/subcommands/{nodepool_lan_remove.md → kubernetes/nodepool_lan_remove.md} +0 -0
  143. data/docs/subcommands/{nodepool_list.md → kubernetes/nodepool_list.md} +0 -0
  144. data/docs/subcommands/{nodepool_update.md → kubernetes/nodepool_update.md} +0 -0
  145. data/docs/subcommands/{contract_list.md → user/contract_list.md} +0 -0
  146. data/docs/subcommands/{group_create.md → user/group_create.md} +10 -1
  147. data/docs/subcommands/{group_delete.md → user/group_delete.md} +0 -0
  148. data/docs/subcommands/{group_get.md → user/group_get.md} +0 -0
  149. data/docs/subcommands/{group_list.md → user/group_list.md} +0 -0
  150. data/docs/subcommands/{group_update.md → user/group_update.md} +10 -1
  151. data/docs/subcommands/{group_user_add.md → user/group_user_add.md} +0 -0
  152. data/docs/subcommands/{group_user_remove.md → user/group_user_remove.md} +0 -0
  153. data/docs/subcommands/{resource_list.md → user/resource_list.md} +0 -0
  154. data/docs/subcommands/{s3key_create.md → user/s3key_create.md} +0 -0
  155. data/docs/subcommands/{s3key_delete.md → user/s3key_delete.md} +0 -0
  156. data/docs/subcommands/{s3key_get.md → user/s3key_get.md} +0 -0
  157. data/docs/subcommands/{s3key_list.md → user/s3key_list.md} +0 -0
  158. data/docs/subcommands/{share_create.md → user/share_create.md} +1 -1
  159. data/docs/subcommands/{share_delete.md → user/share_delete.md} +2 -2
  160. data/docs/subcommands/{share_get.md → user/share_get.md} +0 -0
  161. data/docs/subcommands/{share_list.md → user/share_list.md} +0 -0
  162. data/docs/subcommands/{share_update.md → user/share_update.md} +0 -0
  163. data/docs/subcommands/{user_create.md → user/user_create.md} +3 -9
  164. data/docs/subcommands/{user_delete.md → user/user_delete.md} +0 -0
  165. data/docs/subcommands/{user_get.md → user/user_get.md} +0 -0
  166. data/docs/subcommands/{user_list.md → user/user_list.md} +0 -0
  167. data/docs/subcommands/{user_ssourl.md → user/user_ssourl.md} +0 -0
  168. data/docs/subcommands/{user_update.md → user/user_update.md} +0 -0
  169. data/docs/summary.md +167 -152
  170. data/docs/templates/summary.mustache +6 -3
  171. data/knife-ionoscloud.gemspec +1 -0
  172. data/lib/chef/knife/ionoscloud_backupunit_create.rb +1 -2
  173. data/lib/chef/knife/ionoscloud_backupunit_delete.rb +1 -2
  174. data/lib/chef/knife/ionoscloud_backupunit_get.rb +1 -2
  175. data/lib/chef/knife/ionoscloud_backupunit_list.rb +1 -2
  176. data/lib/chef/knife/ionoscloud_backupunit_ssourl.rb +1 -2
  177. data/lib/chef/knife/ionoscloud_backupunit_update.rb +1 -2
  178. data/lib/chef/knife/ionoscloud_base.rb +57 -0
  179. data/lib/chef/knife/ionoscloud_composite_server_create.rb +1 -2
  180. data/lib/chef/knife/ionoscloud_contract_list.rb +1 -2
  181. data/lib/chef/knife/ionoscloud_cube_server_create.rb +1 -2
  182. data/lib/chef/knife/ionoscloud_datacenter_create.rb +1 -2
  183. data/lib/chef/knife/ionoscloud_datacenter_delete.rb +1 -2
  184. data/lib/chef/knife/ionoscloud_datacenter_get.rb +1 -2
  185. data/lib/chef/knife/ionoscloud_datacenter_list.rb +1 -2
  186. data/lib/chef/knife/ionoscloud_datacenter_update.rb +1 -2
  187. data/lib/chef/knife/ionoscloud_dbaas_postgres_backup_get.rb +33 -0
  188. data/lib/chef/knife/ionoscloud_dbaas_postgres_backup_list.rb +59 -0
  189. data/lib/chef/knife/ionoscloud_dbaas_postgres_cluster_create.rb +158 -0
  190. data/lib/chef/knife/ionoscloud_dbaas_postgres_cluster_delete.rb +49 -0
  191. data/lib/chef/knife/ionoscloud_dbaas_postgres_cluster_get.rb +34 -0
  192. data/lib/chef/knife/ionoscloud_dbaas_postgres_cluster_list.rb +53 -0
  193. data/lib/chef/knife/ionoscloud_dbaas_postgres_cluster_restore.rb +48 -0
  194. data/lib/chef/knife/ionoscloud_dbaas_postgres_cluster_update.rb +102 -0
  195. data/lib/chef/knife/ionoscloud_dbaas_postgres_logs_get.rb +59 -0
  196. data/lib/chef/knife/ionoscloud_dbaas_postgres_version_list.rb +49 -0
  197. data/lib/chef/knife/ionoscloud_firewall_create.rb +1 -2
  198. data/lib/chef/knife/ionoscloud_firewall_delete.rb +1 -2
  199. data/lib/chef/knife/ionoscloud_firewall_get.rb +1 -2
  200. data/lib/chef/knife/ionoscloud_firewall_list.rb +1 -2
  201. data/lib/chef/knife/ionoscloud_firewall_update.rb +1 -2
  202. data/lib/chef/knife/ionoscloud_flowlog_create.rb +1 -2
  203. data/lib/chef/knife/ionoscloud_flowlog_delete.rb +1 -2
  204. data/lib/chef/knife/ionoscloud_flowlog_get.rb +1 -2
  205. data/lib/chef/knife/ionoscloud_flowlog_list.rb +1 -2
  206. data/lib/chef/knife/ionoscloud_flowlog_update.rb +1 -2
  207. data/lib/chef/knife/ionoscloud_group_create.rb +1 -2
  208. data/lib/chef/knife/ionoscloud_group_delete.rb +1 -2
  209. data/lib/chef/knife/ionoscloud_group_get.rb +1 -2
  210. data/lib/chef/knife/ionoscloud_group_list.rb +1 -2
  211. data/lib/chef/knife/ionoscloud_group_update.rb +1 -2
  212. data/lib/chef/knife/ionoscloud_group_user_add.rb +1 -2
  213. data/lib/chef/knife/ionoscloud_group_user_remove.rb +1 -2
  214. data/lib/chef/knife/ionoscloud_image_list.rb +1 -2
  215. data/lib/chef/knife/ionoscloud_ipblock_create.rb +1 -2
  216. data/lib/chef/knife/ionoscloud_ipblock_delete.rb +1 -2
  217. data/lib/chef/knife/ionoscloud_ipblock_get.rb +1 -2
  218. data/lib/chef/knife/ionoscloud_ipblock_list.rb +1 -2
  219. data/lib/chef/knife/ionoscloud_ipblock_update.rb +1 -2
  220. data/lib/chef/knife/ionoscloud_ipfailover_add.rb +1 -2
  221. data/lib/chef/knife/ionoscloud_ipfailover_remove.rb +1 -2
  222. data/lib/chef/knife/ionoscloud_k8s_create.rb +1 -2
  223. data/lib/chef/knife/ionoscloud_k8s_delete.rb +1 -2
  224. data/lib/chef/knife/ionoscloud_k8s_get.rb +1 -2
  225. data/lib/chef/knife/ionoscloud_k8s_list.rb +1 -2
  226. data/lib/chef/knife/ionoscloud_k8s_update.rb +1 -2
  227. data/lib/chef/knife/ionoscloud_kubeconfig_get.rb +1 -2
  228. data/lib/chef/knife/ionoscloud_label_add.rb +1 -2
  229. data/lib/chef/knife/ionoscloud_label_list.rb +1 -2
  230. data/lib/chef/knife/ionoscloud_label_remove.rb +1 -2
  231. data/lib/chef/knife/ionoscloud_lan_create.rb +1 -2
  232. data/lib/chef/knife/ionoscloud_lan_delete.rb +1 -2
  233. data/lib/chef/knife/ionoscloud_lan_get.rb +1 -2
  234. data/lib/chef/knife/ionoscloud_lan_list.rb +1 -2
  235. data/lib/chef/knife/ionoscloud_lan_update.rb +1 -2
  236. data/lib/chef/knife/ionoscloud_loadbalancer_create.rb +1 -2
  237. data/lib/chef/knife/ionoscloud_loadbalancer_delete.rb +1 -2
  238. data/lib/chef/knife/ionoscloud_loadbalancer_get.rb +1 -2
  239. data/lib/chef/knife/ionoscloud_loadbalancer_list.rb +1 -2
  240. data/lib/chef/knife/ionoscloud_loadbalancer_nic_add.rb +1 -2
  241. data/lib/chef/knife/ionoscloud_loadbalancer_nic_remove.rb +1 -2
  242. data/lib/chef/knife/ionoscloud_loadbalancer_update.rb +1 -2
  243. data/lib/chef/knife/ionoscloud_location_list.rb +1 -2
  244. data/lib/chef/knife/ionoscloud_natgateway_create.rb +1 -2
  245. data/lib/chef/knife/ionoscloud_natgateway_delete.rb +1 -2
  246. data/lib/chef/knife/ionoscloud_natgateway_get.rb +1 -2
  247. data/lib/chef/knife/ionoscloud_natgateway_lan_add.rb +1 -2
  248. data/lib/chef/knife/ionoscloud_natgateway_lan_remove.rb +1 -2
  249. data/lib/chef/knife/ionoscloud_natgateway_list.rb +1 -2
  250. data/lib/chef/knife/ionoscloud_natgateway_rule_add.rb +1 -2
  251. data/lib/chef/knife/ionoscloud_natgateway_rule_list.rb +1 -2
  252. data/lib/chef/knife/ionoscloud_natgateway_rule_remove.rb +1 -2
  253. data/lib/chef/knife/ionoscloud_natgateway_rule_update.rb +1 -2
  254. data/lib/chef/knife/ionoscloud_natgateway_update.rb +1 -2
  255. data/lib/chef/knife/ionoscloud_networkloadbalancer_create.rb +1 -2
  256. data/lib/chef/knife/ionoscloud_networkloadbalancer_delete.rb +1 -2
  257. data/lib/chef/knife/ionoscloud_networkloadbalancer_get.rb +1 -2
  258. data/lib/chef/knife/ionoscloud_networkloadbalancer_list.rb +1 -2
  259. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_add.rb +1 -2
  260. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_list.rb +1 -2
  261. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_remove.rb +1 -2
  262. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_add.rb +1 -2
  263. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_list.rb +1 -2
  264. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_remove.rb +1 -2
  265. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_update.rb +1 -2
  266. data/lib/chef/knife/ionoscloud_networkloadbalancer_update.rb +1 -2
  267. data/lib/chef/knife/ionoscloud_nic_create.rb +1 -2
  268. data/lib/chef/knife/ionoscloud_nic_delete.rb +1 -2
  269. data/lib/chef/knife/ionoscloud_nic_get.rb +1 -2
  270. data/lib/chef/knife/ionoscloud_nic_list.rb +1 -2
  271. data/lib/chef/knife/ionoscloud_nic_update.rb +1 -2
  272. data/lib/chef/knife/ionoscloud_node_delete.rb +1 -2
  273. data/lib/chef/knife/ionoscloud_node_get.rb +1 -2
  274. data/lib/chef/knife/ionoscloud_node_list.rb +1 -2
  275. data/lib/chef/knife/ionoscloud_node_replace.rb +1 -2
  276. data/lib/chef/knife/ionoscloud_nodepool_create.rb +1 -2
  277. data/lib/chef/knife/ionoscloud_nodepool_delete.rb +1 -2
  278. data/lib/chef/knife/ionoscloud_nodepool_get.rb +1 -2
  279. data/lib/chef/knife/ionoscloud_nodepool_lan_add.rb +1 -2
  280. data/lib/chef/knife/ionoscloud_nodepool_lan_remove.rb +1 -2
  281. data/lib/chef/knife/ionoscloud_nodepool_list.rb +1 -2
  282. data/lib/chef/knife/ionoscloud_nodepool_update.rb +1 -2
  283. data/lib/chef/knife/ionoscloud_pcc_create.rb +1 -2
  284. data/lib/chef/knife/ionoscloud_pcc_delete.rb +1 -2
  285. data/lib/chef/knife/ionoscloud_pcc_get.rb +1 -2
  286. data/lib/chef/knife/ionoscloud_pcc_list.rb +1 -2
  287. data/lib/chef/knife/ionoscloud_pcc_update.rb +1 -2
  288. data/lib/chef/knife/ionoscloud_request_get.rb +1 -2
  289. data/lib/chef/knife/ionoscloud_request_list.rb +1 -2
  290. data/lib/chef/knife/ionoscloud_request_status.rb +1 -2
  291. data/lib/chef/knife/ionoscloud_request_wait.rb +1 -2
  292. data/lib/chef/knife/ionoscloud_resource_list.rb +1 -2
  293. data/lib/chef/knife/ionoscloud_s3key_create.rb +1 -2
  294. data/lib/chef/knife/ionoscloud_s3key_delete.rb +1 -2
  295. data/lib/chef/knife/ionoscloud_s3key_get.rb +1 -2
  296. data/lib/chef/knife/ionoscloud_s3key_list.rb +1 -2
  297. data/lib/chef/knife/ionoscloud_server_console.rb +1 -2
  298. data/lib/chef/knife/ionoscloud_server_create.rb +1 -2
  299. data/lib/chef/knife/ionoscloud_server_delete.rb +1 -2
  300. data/lib/chef/knife/ionoscloud_server_get.rb +1 -2
  301. data/lib/chef/knife/ionoscloud_server_list.rb +1 -2
  302. data/lib/chef/knife/ionoscloud_server_reboot.rb +1 -2
  303. data/lib/chef/knife/ionoscloud_server_resume.rb +1 -2
  304. data/lib/chef/knife/ionoscloud_server_start.rb +1 -2
  305. data/lib/chef/knife/ionoscloud_server_stop.rb +1 -2
  306. data/lib/chef/knife/ionoscloud_server_suspend.rb +1 -2
  307. data/lib/chef/knife/ionoscloud_server_token.rb +1 -2
  308. data/lib/chef/knife/ionoscloud_server_update.rb +1 -2
  309. data/lib/chef/knife/ionoscloud_server_upgrade.rb +1 -2
  310. data/lib/chef/knife/ionoscloud_share_create.rb +1 -2
  311. data/lib/chef/knife/ionoscloud_share_delete.rb +1 -2
  312. data/lib/chef/knife/ionoscloud_share_get.rb +1 -2
  313. data/lib/chef/knife/ionoscloud_share_list.rb +1 -2
  314. data/lib/chef/knife/ionoscloud_share_update.rb +1 -2
  315. data/lib/chef/knife/ionoscloud_snapshot_create.rb +1 -2
  316. data/lib/chef/knife/ionoscloud_snapshot_delete.rb +1 -2
  317. data/lib/chef/knife/ionoscloud_snapshot_get.rb +1 -2
  318. data/lib/chef/knife/ionoscloud_snapshot_list.rb +1 -2
  319. data/lib/chef/knife/ionoscloud_snapshot_restore.rb +1 -2
  320. data/lib/chef/knife/ionoscloud_snapshot_update.rb +1 -2
  321. data/lib/chef/knife/ionoscloud_template_list.rb +1 -2
  322. data/lib/chef/knife/ionoscloud_user_create.rb +1 -2
  323. data/lib/chef/knife/ionoscloud_user_delete.rb +1 -2
  324. data/lib/chef/knife/ionoscloud_user_get.rb +1 -2
  325. data/lib/chef/knife/ionoscloud_user_list.rb +1 -2
  326. data/lib/chef/knife/ionoscloud_user_ssourl.rb +1 -2
  327. data/lib/chef/knife/ionoscloud_user_update.rb +1 -2
  328. data/lib/chef/knife/ionoscloud_volume_attach.rb +1 -2
  329. data/lib/chef/knife/ionoscloud_volume_create.rb +1 -2
  330. data/lib/chef/knife/ionoscloud_volume_delete.rb +1 -2
  331. data/lib/chef/knife/ionoscloud_volume_detach.rb +1 -2
  332. data/lib/chef/knife/ionoscloud_volume_get.rb +1 -2
  333. data/lib/chef/knife/ionoscloud_volume_list.rb +1 -2
  334. data/lib/chef/knife/ionoscloud_volume_update.rb +1 -2
  335. data/lib/knife-ionoscloud/version.rb +1 -1
  336. data/spec/chef/knife/ionoscloud_dbaas_postgres_backup_get_spec.rb +67 -0
  337. data/spec/chef/knife/ionoscloud_dbaas_postgres_backup_list_spec.rb +111 -0
  338. data/spec/chef/knife/ionoscloud_dbaas_postgres_cluster_create_spec.rb +99 -0
  339. data/spec/chef/knife/ionoscloud_dbaas_postgres_cluster_delete_spec.rb +109 -0
  340. data/spec/chef/knife/ionoscloud_dbaas_postgres_cluster_get_spec.rb +73 -0
  341. data/spec/chef/knife/ionoscloud_dbaas_postgres_cluster_list_spec.rb +84 -0
  342. data/spec/chef/knife/ionoscloud_dbaas_postgres_cluster_restore_spec.rb +59 -0
  343. data/spec/chef/knife/ionoscloud_dbaas_postgres_cluster_update_spec.rb +89 -0
  344. data/spec/chef/knife/ionoscloud_dbaas_postgres_logs_get_spec.rb +67 -0
  345. data/spec/chef/knife/ionoscloud_dbaas_postgres_version_list_spec.rb +94 -0
  346. data/spec/spec_helper.rb +107 -0
  347. metadata +209 -156
  348. data/spec/test.sh +0 -3
@@ -0,0 +1,102 @@
1
+ require_relative 'ionoscloud_base'
2
+
3
+ class Chef
4
+ class Knife
5
+ class IonoscloudDbaasPostgresClusterUpdate < Knife
6
+ include Knife::IonoscloudBase
7
+
8
+ banner 'knife ionoscloud dbaas postgres cluster update (options)'
9
+
10
+ option :cluster_id,
11
+ short: '-C CLUSTER_ID',
12
+ long: '--cluster-id CLUSTER_ID',
13
+ description: 'ID of the cluster'
14
+
15
+ option :cores,
16
+ short: '-C CORES',
17
+ long: '--cores CORES',
18
+ description: 'The number of CPU cores per instance.'
19
+
20
+ option :ram_size,
21
+ short: '-r RAM',
22
+ long: '--ram RAM',
23
+ description: 'The amount of memory per instance.'
24
+
25
+ option :storage_size,
26
+ long: '--size STORAGE_SIZE',
27
+ description: 'The amount of storage per instance.'
28
+
29
+ option :connections,
30
+ long: '--connections CONNECTIONS',
31
+ description: 'Array of VDCs to connect to your cluster.'
32
+
33
+ option :display_name,
34
+ short: '-n DISPLAY_NAME',
35
+ long: '--name DISPLAY_NAME',
36
+ description: 'The friendly name of your cluster.'
37
+
38
+ option :time,
39
+ long: '--time TIME',
40
+ description: 'Time Of the day when to perform the maintenance.'
41
+
42
+ option :day_of_the_week,
43
+ short: '-d DAY_OF_THE_WEEK',
44
+ long: '--day-of-the-week DAY_OF_THE_WEEK',
45
+ description: 'Day Of the week when to perform the maintenance.'
46
+
47
+ option :postgres_version,
48
+ long: '--postgres-version POSTGRES_VERSION',
49
+ description: 'The PostgreSQL version of your cluster'
50
+
51
+ option :instances,
52
+ short: '-R INSTANCES',
53
+ long: '--instances INSTANCES',
54
+ description: 'The total number of instances in the cluster (one master and n-1 standbys).'
55
+
56
+
57
+ def initialize(args = [])
58
+ super(args)
59
+ @description =
60
+ 'Updates information about a Ionoscloud Dbaas Cluster.'
61
+ @directory = 'dbaas-postgres'
62
+ @required_options = [:cluster_id, :ionoscloud_username, :ionoscloud_password]
63
+ @updatable_fields = [:cores, :ram, :storage_size, :display_name, :time, :day_of_the_week, :postgres_version, :instances]
64
+ end
65
+
66
+ def run
67
+ $stdout.sync = true
68
+ handle_extra_config
69
+ validate_required_params(@required_options, config)
70
+
71
+ clusters_api = IonoscloudDbaasPostgres::ClustersApi.new(api_client_dbaas)
72
+
73
+ if @updatable_fields.map { |el| config[el] }.any?
74
+ print "#{ui.color('Updating cluster...', :magenta)}"
75
+
76
+ cluster_properties = IonoscloudDbaasPostgres::PatchClusterProperties.new(
77
+ cores: (config[:cores].nil? ? nil : Integer(config[:cores])),
78
+ ram: (config[:ram].nil? ? nil : Integer(config[:ram])),
79
+ storage_size: (config[:storage_size].nil? ? nil : Integer(config[:storage_size])),
80
+ display_name: config[:display_name],
81
+ maintenance_window: (config[:time] && config[:day_of_the_week]) ? IonoscloudDbaas::MaintenanceWindow.new(
82
+ time: config[:time],
83
+ day_of_the_week: config[:day_of_the_week],
84
+ ) : nil,
85
+ postgres_version: config[:postgres_version],
86
+ instances: config[:instances],
87
+ )
88
+ cluster_request = IonoscloudDbaasPostgres::PatchClusterRequest.new()
89
+ cluster_request.properties = cluster_properties
90
+
91
+ cluster, _, headers = clusters_api.clusters_patch_with_http_info(config[:cluster_id], cluster_request)
92
+
93
+ dot = ui.color('.', :magenta)
94
+ else
95
+ ui.warn("Nothing to update, please set one of the attributes #{@updatable_fields}.")
96
+ end
97
+
98
+ print_cluster(clusters_api.clusters_find_by_id(config[:cluster_id]))
99
+ end
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,59 @@
1
+ require_relative 'ionoscloud_base'
2
+
3
+ class Chef
4
+ class Knife
5
+ class IonoscloudDbaasPostgresLogsGet < Knife
6
+ include Knife::IonoscloudBase
7
+
8
+ banner 'knife ionoscloud dbaas postgres logs get'
9
+
10
+ option :cluster_id,
11
+ short: '-C CLUSTER_ID',
12
+ long: '--cluster-id CLUSTER_ID',
13
+ description: 'ID of the cluster'
14
+
15
+ option :limit,
16
+ short: '-l LIMIT',
17
+ long: '--limit LIMIT',
18
+ description: 'The maximal number of log lines to return.'
19
+
20
+ option :start,
21
+ long: '--start START',
22
+ description: 'The start time for the query in RFC3339 format.'
23
+
24
+ option :end,
25
+ long: '--end END',
26
+ description: 'The end time for the query in RFC3339 format.'
27
+
28
+ def initialize(args = [])
29
+ super(args)
30
+ @description =
31
+ 'Retrieves PostgreSQL logs based on the given parameters.'
32
+ @directory = 'dbaas-postgres'
33
+ @required_options = [:cluster_id, :ionoscloud_username, :ionoscloud_password]
34
+ end
35
+
36
+ def run
37
+ $stdout.sync = true
38
+ handle_extra_config
39
+ validate_required_params(@required_options, config)
40
+
41
+ logs = IonoscloudDbaasPostgres::LogsApi.new(api_client_dbaas).cluster_logs_get(
42
+ config[:cluster_id],
43
+ {
44
+ limit: (config[:limit] != nil ? Integer(config[:limit]) : nil),
45
+ start: config[:start],
46
+ end: config[:end],
47
+ },
48
+ )
49
+
50
+ logs.instances.each { |instance|
51
+ puts "Instance Name: #{instance.name}"
52
+ print "\n"
53
+ puts instance.messages.map { |message| message.message }
54
+ puts "\n"
55
+ }
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,49 @@
1
+ require_relative 'ionoscloud_base'
2
+
3
+ class Chef
4
+ class Knife
5
+ class IonoscloudDbaasPostgresVersionList < Knife
6
+ include Knife::IonoscloudBase
7
+
8
+ banner 'knife ionoscloud dbaas postgres version list'
9
+
10
+ option :cluster_id,
11
+ short: '-C CLUSTER_ID',
12
+ long: '--cluster-id CLUSTER_ID',
13
+ description: 'ID of the cluster'
14
+
15
+ def initialize(args = [])
16
+ super(args)
17
+ @description =
18
+ 'If cluster_id is provided, retrieves a list of all PostgreSQL versions available for a cluster including the current version,
19
+ otherwise retrieves a list of all available PostgreSQL versions.'
20
+ @directory = 'dbaas-postgres'
21
+ @required_options = [: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
+ version_list = [
30
+ ui.color('Version', :bold),
31
+ ]
32
+
33
+ clusters_api = IonoscloudDbaasPostgres::ClustersApi.new(api_client_dbaas)
34
+
35
+ if config[:cluster_id]
36
+ versions = clusters_api.cluster_postgres_versions_get(config[:cluster_id])
37
+ else
38
+ versions = clusters_api.postgres_versions_get()
39
+ end
40
+
41
+ versions.data.each do |version|
42
+ version_list << version.name
43
+ end
44
+
45
+ puts ui.list(version_list, :uneven_columns_across, 1)
46
+ end
47
+ end
48
+ end
49
+ end
@@ -74,12 +74,11 @@ class Chef
74
74
  long: '--type TYPE',
75
75
  description: 'The type of firewall rule. If is not specified, it will take the default value INGRESS'
76
76
 
77
- attr_reader :description, :required_options
78
-
79
77
  def initialize(args = [])
80
78
  super(args)
81
79
  @description =
82
80
  'Creates a new firewall rule on an existing NIC.'
81
+ @directory = 'compute-engine'
83
82
  @required_options = [:datacenter_id, :server_id, :nic_id, :ionoscloud_username, :ionoscloud_password]
84
83
  end
85
84
 
@@ -22,12 +22,11 @@ class Chef
22
22
  long: '--nic-id NIC_ID',
23
23
  description: 'ID of the NIC'
24
24
 
25
- attr_reader :description, :required_options
26
-
27
25
  def initialize(args = [])
28
26
  super(args)
29
27
  @description =
30
28
  'Deletes a firewall rule from an existing NIC.'
29
+ @directory = 'compute-engine'
31
30
  @required_options = [:datacenter_id, :server_id, :nic_id, :ionoscloud_username, :ionoscloud_password]
32
31
  end
33
32
 
@@ -27,12 +27,11 @@ class Chef
27
27
  long: '--firewall-id FIREWALL_ID',
28
28
  description: 'ID of the Firewall Rule'
29
29
 
30
- attr_reader :description, :required_options
31
-
32
30
  def initialize(args = [])
33
31
  super(args)
34
32
  @description =
35
33
  'Retrieves information about a Ionoscloud Firewall Rule.'
34
+ @directory = 'compute-engine'
36
35
  @required_options = [:firewall_id, :datacenter_id, :server_id, :nic_id, :ionoscloud_username, :ionoscloud_password]
37
36
  end
38
37
 
@@ -22,12 +22,11 @@ class Chef
22
22
  long: '--nic-id NIC_ID',
23
23
  description: 'ID of the NIC'
24
24
 
25
- attr_reader :description, :required_options
26
-
27
25
  def initialize(args = [])
28
26
  super(args)
29
27
  @description =
30
28
  'Lists all available firewall rules assigned to a NIC.'
29
+ @directory = 'compute-engine'
31
30
  @required_options = [:datacenter_id, :server_id, :nic_id, :ionoscloud_username, :ionoscloud_password]
32
31
  end
33
32
 
@@ -75,12 +75,11 @@ class Chef
75
75
  description: 'Defines the allowed code (from 0 to 254) if the' \
76
76
  ' protocol ICMP is chosen; null allows all codes'
77
77
 
78
- attr_reader :description, :required_options
79
-
80
78
  def initialize(args = [])
81
79
  super(args)
82
80
  @description =
83
81
  'Updates information about a Ionoscloud Firewall Rule.'
82
+ @directory = 'compute-engine'
84
83
  @required_options = [:datacenter_id, :ionoscloud_username, :ionoscloud_password]
85
84
  @updatable_fields = [
86
85
  :name, :protocol, :source_mac, :source_ip, :target_ip,
@@ -56,12 +56,11 @@ class Chef
56
56
  long: '--bucket BUCKET',
57
57
  description: 'S3 bucket name of an existing IONOS Cloud S3 bucket. Ex. bucketName/key'
58
58
 
59
- attr_reader :description, :required_options
60
-
61
59
  def initialize(args = [])
62
60
  super(args)
63
61
  @description =
64
62
  'This will add a Flow Log to the network interface, NAT Gateway or Network Load Balancer.'
63
+ @directory = 'compute-engine'
65
64
  @required_options = [:datacenter_id, :type, :ionoscloud_username, :ionoscloud_password]
66
65
  end
67
66
 
@@ -37,12 +37,11 @@ class Chef
37
37
  long: '--network-loadbalancer NETWORK_LOADBALANCER',
38
38
  description: 'ID of the Network Load Balancer'
39
39
 
40
- attr_reader :description, :required_options
41
-
42
40
  def initialize(args = [])
43
41
  super(args)
44
42
  @description =
45
43
  'Removes the specified Flow Logs.'
44
+ @directory = 'compute-engine'
46
45
  @required_options = [:datacenter_id, :type, :ionoscloud_username, :ionoscloud_password]
47
46
  end
48
47
 
@@ -42,12 +42,11 @@ class Chef
42
42
  long: '--flowlog-id FLOWLOG_ID',
43
43
  description: 'The ID of the Flow Log'
44
44
 
45
- attr_reader :description, :required_options
46
-
47
45
  def initialize(args = [])
48
46
  super(args)
49
47
  @description =
50
48
  'Retrieves information about a Ionoscloud Flow Log.'
49
+ @directory = 'compute-engine'
51
50
  @required_options = [:flowlog_id, :datacenter_id, :type, :ionoscloud_username, :ionoscloud_password]
52
51
  end
53
52
 
@@ -37,12 +37,11 @@ class Chef
37
37
  long: '--network-loadbalancer NETWORK_LOADBALANCER',
38
38
  description: 'ID of the Network Load Balancer'
39
39
 
40
- attr_reader :description, :required_options
41
-
42
40
  def initialize(args = [])
43
41
  super(args)
44
42
  @description =
45
43
  'Lists all available flow logs assigned to a NIC, NAT Gateway or Network Load Balancer.'
44
+ @directory = 'compute-engine'
46
45
  @required_options = [:datacenter_id, :type, :ionoscloud_username, :ionoscloud_password]
47
46
  end
48
47
 
@@ -61,12 +61,11 @@ class Chef
61
61
  long: '--bucket BUCKET',
62
62
  description: 'S3 bucket name of an existing IONOS Cloud S3 bucket. Ex. bucketName/key'
63
63
 
64
- attr_reader :description, :required_options
65
-
66
64
  def initialize(args = [])
67
65
  super(args)
68
66
  @description =
69
67
  'Updates information about a Ionoscloud Flow Log.'
68
+ @directory = 'compute-engine'
70
69
  @required_options = [:flowlog_id, :datacenter_id, :type, :ionoscloud_username, :ionoscloud_password]
71
70
  @updatable_fields = [:name, :action, :direction, :bucket]
72
71
  end
@@ -66,12 +66,11 @@ class Chef
66
66
  long: '--manage-certificates',
67
67
  description: 'Privilege for a group to access and manage certificates.'
68
68
 
69
- attr_reader :description, :required_options
70
-
71
69
  def initialize(args = [])
72
70
  super(args)
73
71
  @description =
74
72
  'Use this operation to create a new group and set group privileges.'
73
+ @directory = 'user'
75
74
  @required_options = [:name, :ionoscloud_username, :ionoscloud_password]
76
75
  end
77
76
 
@@ -7,14 +7,13 @@ class Chef
7
7
 
8
8
  banner 'knife ionoscloud group delete GROUP_ID [GROUP_ID]'
9
9
 
10
- attr_reader :description, :required_options
11
-
12
10
  def initialize(args = [])
13
11
  super(args)
14
12
  @description =
15
13
  'Use this operation to delete a single group. Resources that are '\
16
14
  'assigned to the group are NOT deleted, but are no longer accessible '\
17
15
  'to the group members unless the member is a Contract Owner, Admin, or Resource Owner.'
16
+ @directory = 'user'
18
17
  @required_options = [:ionoscloud_username, :ionoscloud_password]
19
18
  end
20
19
 
@@ -12,13 +12,12 @@ class Chef
12
12
  long: '--group-id GROUP_ID',
13
13
  description: 'ID of the group.'
14
14
 
15
- attr_reader :description, :required_options
16
-
17
15
  def initialize(args = [])
18
16
  super(args)
19
17
  @description =
20
18
  'Retrieves detailed information about a specific group. This will also '\
21
19
  'retrieve a list of users who are members of the group.'
20
+ @directory = 'user'
22
21
  @required_options = [:group_id, :ionoscloud_username, :ionoscloud_password]
23
22
  end
24
23
 
@@ -12,12 +12,11 @@ class Chef
12
12
  long: '--user-id USER_ID',
13
13
  description: 'ID of the user.'
14
14
 
15
- attr_reader :description, :required_options
16
-
17
15
  def initialize(args = [])
18
16
  super(args)
19
17
  @description =
20
18
  'This retrieves a full list of all groups.'
19
+ @directory = 'user'
21
20
  @required_options = [:ionoscloud_username, :ionoscloud_password]
22
21
  end
23
22
 
@@ -71,12 +71,11 @@ class Chef
71
71
  long: '--manage-certificates ACCESS_AND_MANAGE_CERTIFICATES',
72
72
  description: 'Privilege for a group to access and manage certificates.'
73
73
 
74
- attr_reader :description, :required_options
75
-
76
74
  def initialize(args = [])
77
75
  super(args)
78
76
  @description =
79
77
  'Updates information about a Ionoscloud Group.'
78
+ @directory = 'user'
80
79
  @required_options = [:group_id, :ionoscloud_username, :ionoscloud_password]
81
80
  @updatable_fields = [
82
81
  :name, :create_data_center, :create_snapshot, :reserve_ip, :access_activity_log, :s3_privilege,
@@ -12,12 +12,11 @@ class Chef
12
12
  long: '--group-id GROUP_ID',
13
13
  description: 'ID of the group.'
14
14
 
15
- attr_reader :description, :required_options
16
-
17
15
  def initialize(args = [])
18
16
  super(args)
19
17
  @description =
20
18
  'Use this operation to add an existing user to a group.'
19
+ @directory = 'user'
21
20
  @required_options = [:group_id, :ionoscloud_username, :ionoscloud_password]
22
21
  end
23
22
 
@@ -12,12 +12,11 @@ class Chef
12
12
  long: '--group-id GROUP_ID',
13
13
  description: 'ID of the group.'
14
14
 
15
- attr_reader :description, :required_options
16
-
17
15
  def initialize(args = [])
18
16
  super(args)
19
17
  @description =
20
18
  'Use this operation to remove a user from a group.'
19
+ @directory = 'user'
21
20
  @required_options = [:group_id, :ionoscloud_username, :ionoscloud_password]
22
21
  end
23
22
 
@@ -7,13 +7,12 @@ class Chef
7
7
 
8
8
  banner 'knife ionoscloud image list'
9
9
 
10
- attr_reader :description, :required_options
11
-
12
10
  def initialize(args = [])
13
11
  super(args)
14
12
  @description =
15
13
  'A list of disk and ISO images are available from Ionoscloud for immediate use. '\
16
14
  'Make sure the image you use is in the same location as the virtual data center.'
15
+ @directory = 'compute-engine'
17
16
  @required_options = [:ionoscloud_username, :ionoscloud_password]
18
17
  end
19
18
 
@@ -22,8 +22,6 @@ class Chef
22
22
  long: '--name NAME',
23
23
  description: 'Name of the IP block'
24
24
 
25
- attr_reader :description, :required_options
26
-
27
25
  def initialize(args = [])
28
26
  super(args)
29
27
  @description =
@@ -31,6 +29,7 @@ class Chef
31
29
  'within any VDCs provisioned in that same location. An IP block consists of '\
32
30
  'one or more static IP addresses. The IP block size \(number of IP addresses\) '\
33
31
  'and location are required to reserve an IP block.'
32
+ @directory = 'compute-engine'
34
33
  @required_options = [:size, :location, :ionoscloud_username, :ionoscloud_password]
35
34
  end
36
35
 
@@ -7,12 +7,11 @@ class Chef
7
7
 
8
8
  banner 'knife ionoscloud ipblock delete IPBLOCK_ID [IPBLOCK_ID]'
9
9
 
10
- attr_reader :description, :required_options
11
-
12
10
  def initialize(args = [])
13
11
  super(args)
14
12
  @description =
15
13
  'Releases a currently assigned IP block.'
14
+ @directory = 'compute-engine'
16
15
  @required_options = [:ionoscloud_username, :ionoscloud_password]
17
16
  end
18
17
 
@@ -12,12 +12,11 @@ class Chef
12
12
  long: '--ipblock-id IPBLOCK_ID',
13
13
  description: 'ID of the IPBlock.'
14
14
 
15
- attr_reader :description, :required_options
16
-
17
15
  def initialize(args = [])
18
16
  super(args)
19
17
  @description =
20
18
  'Retrieves information about an IP Block.'
19
+ @directory = 'compute-engine'
21
20
  @required_options = [:ipblock_id, :ionoscloud_username, :ionoscloud_password]
22
21
  end
23
22
 
@@ -7,12 +7,11 @@ class Chef
7
7
 
8
8
  banner 'knife ionoscloud ipblock list'
9
9
 
10
- attr_reader :description, :required_options
11
-
12
10
  def initialize(args = [])
13
11
  super(args)
14
12
  @description =
15
13
  'Lists all available IP blocks.'
14
+ @directory = 'compute-engine'
16
15
  @required_options = [:ionoscloud_username, :ionoscloud_password]
17
16
  end
18
17
 
@@ -17,12 +17,11 @@ class Chef
17
17
  long: '--name NAME',
18
18
  description: 'Name of the IP block'
19
19
 
20
- attr_reader :description, :required_options
21
-
22
20
  def initialize(args = [])
23
21
  super(args)
24
22
  @description =
25
23
  'Updates information about an IP Block.'
24
+ @directory = 'compute-engine'
26
25
  @required_options = [:ipblock_id, :ionoscloud_username, :ionoscloud_password]
27
26
  @updatable_fields = [:name]
28
27
  end
@@ -27,8 +27,6 @@ class Chef
27
27
  long: '--nic-id NIC_ID',
28
28
  description: 'NIC to be added to IP failover group'
29
29
 
30
- attr_reader :description, :required_options
31
-
32
30
  def initialize(args = [])
33
31
  super(args)
34
32
  @description =
@@ -36,6 +34,7 @@ class Chef
36
34
  "* Add a reserved IP address to a NIC that will become the IP Failover master.\n"\
37
35
  "* Use PATCH or PUT to enable ipFailover by providing the relevant ip and nicUuid values.\n"\
38
36
  "* Add the same reserved IP address to any other NICs that are a member of the same LAN. Those NICs will become IP Failover members.\n"
37
+ @directory = 'compute-engine'
39
38
  @required_options = [:datacenter_id, :lan_id, :ip, :nic_id, :ionoscloud_username, :ionoscloud_password]
40
39
  end
41
40
 
@@ -27,12 +27,11 @@ class Chef
27
27
  long: '--nic-id NIC_ID',
28
28
  description: 'NIC to be removed from the IP failover group'
29
29
 
30
- attr_reader :description, :required_options
31
-
32
30
  def initialize(args = [])
33
31
  super(args)
34
32
  @description =
35
33
  'Remove IP Failover from LAN'
34
+ @directory = 'compute-engine'
36
35
  @required_options = [:datacenter_id, :lan_id, :ip, :nic_id, :ionoscloud_username, :ionoscloud_password]
37
36
  end
38
37
 
@@ -37,12 +37,11 @@ class Chef
37
37
  long: '--buckets S3_BUCKET [S3_BUCKET]',
38
38
  description: 'List of S3 bucket configured for K8s usage. For now it contains only an S3 bucket used to store K8s API audit logs'
39
39
 
40
- attr_reader :description, :required_options
41
-
42
40
  def initialize(args = [])
43
41
  super(args)
44
42
  @description =
45
43
  'Creates a new Managed Kubernetes cluster.'
44
+ @directory = 'kubernetes'
46
45
  @required_options = [:name, :ionoscloud_username, :ionoscloud_password]
47
46
  end
48
47
 
@@ -7,12 +7,11 @@ class Chef
7
7
 
8
8
  banner 'knife ionoscloud k8s delete CLUSTER_ID [CLUSTER_ID]'
9
9
 
10
- attr_reader :description, :required_options
11
-
12
10
  def initialize(args = [])
13
11
  super(args)
14
12
  @description =
15
13
  'Deletes a Kubernetes cluster. The cluster cannot contain any node pools when deleting.'
14
+ @directory = 'kubernetes'
16
15
  @required_options = [:ionoscloud_username, :ionoscloud_password]
17
16
  end
18
17
 
@@ -12,12 +12,11 @@ class Chef
12
12
  long: '--cluster-id CLUSTER_ID',
13
13
  description: 'ID of the Kubernetes cluster'
14
14
 
15
- attr_reader :description, :required_options
16
-
17
15
  def initialize(args = [])
18
16
  super(args)
19
17
  @description =
20
18
  'Retrieves information about a K8s Cluster.'
19
+ @directory = 'kubernetes'
21
20
  @required_options = [:cluster_id, :ionoscloud_username, :ionoscloud_password]
22
21
  end
23
22
 
@@ -7,12 +7,11 @@ class Chef
7
7
 
8
8
  banner 'knife ionoscloud k8s list'
9
9
 
10
- attr_reader :description, :required_options
11
-
12
10
  def initialize(args = [])
13
11
  super(args)
14
12
  @description =
15
13
  'Retrieve a list of Kubernetes clusters.'
14
+ @directory = 'kubernetes'
16
15
  @required_options = [:ionoscloud_username, :ionoscloud_password]
17
16
  end
18
17