knife-ionoscloud 6.1.0 → 6.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (248) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +17 -0
  3. data/.rubocop.yml +72 -0
  4. data/docs/docs_generator.rb +21 -24
  5. data/docs/subcommands/dbaas-postgres/dbaas_postgres_backup_get.md +1 -1
  6. data/docs/subcommands/dbaas-postgres/dbaas_postgres_backup_list.md +1 -2
  7. data/docs/subcommands/dbaas-postgres/dbaas_postgres_cluster_create.md +6 -3
  8. data/docs/subcommands/dbaas-postgres/dbaas_postgres_cluster_delete.md +1 -1
  9. data/docs/subcommands/dbaas-postgres/dbaas_postgres_cluster_get.md +1 -1
  10. data/docs/subcommands/dbaas-postgres/dbaas_postgres_cluster_list.md +1 -1
  11. data/docs/subcommands/dbaas-postgres/dbaas_postgres_cluster_restore.md +1 -1
  12. data/docs/subcommands/dbaas-postgres/dbaas_postgres_cluster_update.md +2 -2
  13. data/docs/subcommands/dbaas-postgres/dbaas_postgres_logs_get.md +7 -4
  14. data/docs/subcommands/dbaas-postgres/dbaas_postgres_version_list.md +1 -2
  15. data/docs/subcommands/kubernetes/k8s_create.md +4 -1
  16. data/docs/subcommands/kubernetes/nodepool_create.md +4 -1
  17. data/docs/summary.md +124 -124
  18. data/knife-ionoscloud.gemspec +2 -2
  19. data/lib/chef/knife/ionoscloud_backupunit_delete.rb +1 -1
  20. data/lib/chef/knife/ionoscloud_backupunit_update.rb +1 -1
  21. data/lib/chef/knife/ionoscloud_base.rb +3 -0
  22. data/lib/chef/knife/ionoscloud_composite_server_create.rb +2 -2
  23. data/lib/chef/knife/ionoscloud_contract_list.rb +1 -2
  24. data/lib/chef/knife/ionoscloud_cube_server_create.rb +3 -3
  25. data/lib/chef/knife/ionoscloud_datacenter_create.rb +2 -2
  26. data/lib/chef/knife/ionoscloud_datacenter_delete.rb +1 -1
  27. data/lib/chef/knife/ionoscloud_datacenter_update.rb +2 -2
  28. data/lib/chef/knife/ionoscloud_dbaas_postgres_backup_get.rb +2 -2
  29. data/lib/chef/knife/ionoscloud_dbaas_postgres_backup_list.rb +2 -2
  30. data/lib/chef/knife/ionoscloud_dbaas_postgres_cluster_create.rb +11 -7
  31. data/lib/chef/knife/ionoscloud_dbaas_postgres_cluster_delete.rb +2 -2
  32. data/lib/chef/knife/ionoscloud_dbaas_postgres_cluster_get.rb +3 -3
  33. data/lib/chef/knife/ionoscloud_dbaas_postgres_cluster_list.rb +3 -1
  34. data/lib/chef/knife/ionoscloud_dbaas_postgres_cluster_update.rb +2 -4
  35. data/lib/chef/knife/ionoscloud_dbaas_postgres_logs_get.rb +37 -6
  36. data/lib/chef/knife/ionoscloud_dbaas_postgres_version_list.rb +3 -2
  37. data/lib/chef/knife/ionoscloud_firewall_create.rb +1 -1
  38. data/lib/chef/knife/ionoscloud_firewall_delete.rb +1 -1
  39. data/lib/chef/knife/ionoscloud_firewall_list.rb +1 -1
  40. data/lib/chef/knife/ionoscloud_flowlog_delete.rb +1 -3
  41. data/lib/chef/knife/ionoscloud_flowlog_list.rb +3 -5
  42. data/lib/chef/knife/ionoscloud_group_delete.rb +1 -1
  43. data/lib/chef/knife/ionoscloud_group_update.rb +1 -1
  44. data/lib/chef/knife/ionoscloud_ipblock_delete.rb +1 -1
  45. data/lib/chef/knife/ionoscloud_k8s_create.rb +6 -0
  46. data/lib/chef/knife/ionoscloud_k8s_delete.rb +2 -2
  47. data/lib/chef/knife/ionoscloud_k8s_list.rb +3 -1
  48. data/lib/chef/knife/ionoscloud_k8s_update.rb +2 -6
  49. data/lib/chef/knife/ionoscloud_label_list.rb +1 -3
  50. data/lib/chef/knife/ionoscloud_lan_delete.rb +1 -1
  51. data/lib/chef/knife/ionoscloud_loadbalancer_delete.rb +1 -1
  52. data/lib/chef/knife/ionoscloud_natgateway_create.rb +1 -1
  53. data/lib/chef/knife/ionoscloud_natgateway_delete.rb +1 -1
  54. data/lib/chef/knife/ionoscloud_natgateway_rule_add.rb +1 -1
  55. data/lib/chef/knife/ionoscloud_natgateway_rule_update.rb +1 -1
  56. data/lib/chef/knife/ionoscloud_natgateway_update.rb +1 -2
  57. data/lib/chef/knife/ionoscloud_networkloadbalancer_delete.rb +1 -1
  58. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_add.rb +1 -2
  59. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_remove.rb +1 -2
  60. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_update.rb +1 -2
  61. data/lib/chef/knife/ionoscloud_nic_create.rb +3 -3
  62. data/lib/chef/knife/ionoscloud_nic_delete.rb +1 -1
  63. data/lib/chef/knife/ionoscloud_node_delete.rb +1 -1
  64. data/lib/chef/knife/ionoscloud_node_replace.rb +3 -3
  65. data/lib/chef/knife/ionoscloud_nodepool_create.rb +7 -2
  66. data/lib/chef/knife/ionoscloud_nodepool_delete.rb +1 -1
  67. data/lib/chef/knife/ionoscloud_nodepool_list.rb +3 -1
  68. data/lib/chef/knife/ionoscloud_pcc_delete.rb +1 -1
  69. data/lib/chef/knife/ionoscloud_pcc_update.rb +1 -1
  70. data/lib/chef/knife/ionoscloud_request_list.rb +6 -18
  71. data/lib/chef/knife/ionoscloud_resource_list.rb +10 -12
  72. data/lib/chef/knife/ionoscloud_s3key_delete.rb +1 -1
  73. data/lib/chef/knife/ionoscloud_server_create.rb +3 -3
  74. data/lib/chef/knife/ionoscloud_server_delete.rb +3 -3
  75. data/lib/chef/knife/ionoscloud_server_upgrade.rb +1 -1
  76. data/lib/chef/knife/ionoscloud_share_delete.rb +1 -1
  77. data/lib/chef/knife/ionoscloud_snapshot_delete.rb +1 -1
  78. data/lib/chef/knife/ionoscloud_snapshot_list.rb +1 -1
  79. data/lib/chef/knife/ionoscloud_user_delete.rb +1 -1
  80. data/lib/chef/knife/ionoscloud_volume_delete.rb +1 -1
  81. data/lib/chef/knife/ionoscloud_volume_detach.rb +4 -4
  82. data/lib/knife-ionoscloud/version.rb +1 -1
  83. data/sonar-project.properties +3 -0
  84. data/spec/chef/knife/ionoscloud_backupunit_create_spec.rb +1 -2
  85. data/spec/chef/knife/ionoscloud_backupunit_delete_spec.rb +0 -1
  86. data/spec/chef/knife/ionoscloud_backupunit_get_spec.rb +0 -1
  87. data/spec/chef/knife/ionoscloud_backupunit_list_spec.rb +0 -1
  88. data/spec/chef/knife/ionoscloud_backupunit_ssourl_spec.rb +2 -4
  89. data/spec/chef/knife/ionoscloud_backupunit_update_spec.rb +0 -1
  90. data/spec/chef/knife/ionoscloud_base_spec.rb +3 -4
  91. data/spec/chef/knife/ionoscloud_composite_server_create_spec.rb +0 -1
  92. data/spec/chef/knife/ionoscloud_contract_list_spec.rb +0 -1
  93. data/spec/chef/knife/ionoscloud_cube_server_create_spec.rb +2 -3
  94. data/spec/chef/knife/ionoscloud_datacenter_create_spec.rb +0 -1
  95. data/spec/chef/knife/ionoscloud_datacenter_delete_spec.rb +0 -1
  96. data/spec/chef/knife/ionoscloud_datacenter_get_spec.rb +0 -1
  97. data/spec/chef/knife/ionoscloud_datacenter_list_spec.rb +0 -1
  98. data/spec/chef/knife/ionoscloud_datacenter_update_spec.rb +0 -1
  99. data/spec/chef/knife/ionoscloud_dbaas_postgres_backup_get_spec.rb +0 -1
  100. data/spec/chef/knife/ionoscloud_dbaas_postgres_backup_list_spec.rb +1 -2
  101. data/spec/chef/knife/ionoscloud_dbaas_postgres_cluster_create_spec.rb +4 -3
  102. data/spec/chef/knife/ionoscloud_dbaas_postgres_cluster_delete_spec.rb +1 -1
  103. data/spec/chef/knife/ionoscloud_dbaas_postgres_cluster_get_spec.rb +1 -1
  104. data/spec/chef/knife/ionoscloud_dbaas_postgres_cluster_list_spec.rb +3 -2
  105. data/spec/chef/knife/ionoscloud_dbaas_postgres_cluster_restore_spec.rb +0 -1
  106. data/spec/chef/knife/ionoscloud_dbaas_postgres_cluster_update_spec.rb +1 -1
  107. data/spec/chef/knife/ionoscloud_dbaas_postgres_logs_get_spec.rb +75 -4
  108. data/spec/chef/knife/ionoscloud_dbaas_postgres_version_list_spec.rb +2 -3
  109. data/spec/chef/knife/ionoscloud_firewall_create_spec.rb +0 -1
  110. data/spec/chef/knife/ionoscloud_firewall_delete_spec.rb +0 -1
  111. data/spec/chef/knife/ionoscloud_firewall_get_spec.rb +0 -1
  112. data/spec/chef/knife/ionoscloud_firewall_list_spec.rb +0 -1
  113. data/spec/chef/knife/ionoscloud_firewall_update_spec.rb +2 -3
  114. data/spec/chef/knife/ionoscloud_flowlog_create_spec.rb +0 -1
  115. data/spec/chef/knife/ionoscloud_flowlog_delete_spec.rb +0 -1
  116. data/spec/chef/knife/ionoscloud_flowlog_get_spec.rb +0 -2
  117. data/spec/chef/knife/ionoscloud_flowlog_list_spec.rb +0 -1
  118. data/spec/chef/knife/ionoscloud_flowlog_update_spec.rb +0 -2
  119. data/spec/chef/knife/ionoscloud_group_create_spec.rb +0 -1
  120. data/spec/chef/knife/ionoscloud_group_delete_spec.rb +0 -1
  121. data/spec/chef/knife/ionoscloud_group_get_spec.rb +0 -1
  122. data/spec/chef/knife/ionoscloud_group_list_spec.rb +2 -3
  123. data/spec/chef/knife/ionoscloud_group_update_spec.rb +0 -1
  124. data/spec/chef/knife/ionoscloud_group_user_add_spec.rb +0 -1
  125. data/spec/chef/knife/ionoscloud_group_user_remove_spec.rb +0 -1
  126. data/spec/chef/knife/ionoscloud_image_list_spec.rb +0 -1
  127. data/spec/chef/knife/ionoscloud_ipblock_create_spec.rb +0 -1
  128. data/spec/chef/knife/ionoscloud_ipblock_delete_spec.rb +0 -1
  129. data/spec/chef/knife/ionoscloud_ipblock_get_spec.rb +0 -1
  130. data/spec/chef/knife/ionoscloud_ipblock_list_spec.rb +0 -1
  131. data/spec/chef/knife/ionoscloud_ipblock_update_spec.rb +0 -1
  132. data/spec/chef/knife/ionoscloud_ipfailover_add_spec.rb +0 -1
  133. data/spec/chef/knife/ionoscloud_ipfailover_remove_spec.rb +0 -1
  134. data/spec/chef/knife/ionoscloud_k8s_create_spec.rb +1 -1
  135. data/spec/chef/knife/ionoscloud_k8s_delete_spec.rb +4 -4
  136. data/spec/chef/knife/ionoscloud_k8s_get_spec.rb +1 -1
  137. data/spec/chef/knife/ionoscloud_k8s_list_spec.rb +3 -2
  138. data/spec/chef/knife/ionoscloud_k8s_update_spec.rb +3 -3
  139. data/spec/chef/knife/ionoscloud_kubeconfig_get_spec.rb +2 -4
  140. data/spec/chef/knife/ionoscloud_label_add_spec.rb +1 -2
  141. data/spec/chef/knife/ionoscloud_label_list_spec.rb +4 -5
  142. data/spec/chef/knife/ionoscloud_label_remove_spec.rb +1 -2
  143. data/spec/chef/knife/ionoscloud_lan_create_spec.rb +0 -1
  144. data/spec/chef/knife/ionoscloud_lan_delete_spec.rb +0 -1
  145. data/spec/chef/knife/ionoscloud_lan_get_spec.rb +0 -1
  146. data/spec/chef/knife/ionoscloud_lan_list_spec.rb +0 -1
  147. data/spec/chef/knife/ionoscloud_lan_update_spec.rb +0 -1
  148. data/spec/chef/knife/ionoscloud_loadbalancer_create_spec.rb +0 -1
  149. data/spec/chef/knife/ionoscloud_loadbalancer_delete_spec.rb +0 -1
  150. data/spec/chef/knife/ionoscloud_loadbalancer_get_spec.rb +0 -1
  151. data/spec/chef/knife/ionoscloud_loadbalancer_list_spec.rb +0 -1
  152. data/spec/chef/knife/ionoscloud_loadbalancer_nic_add_spec.rb +0 -1
  153. data/spec/chef/knife/ionoscloud_loadbalancer_nic_remove_spec.rb +0 -1
  154. data/spec/chef/knife/ionoscloud_loadbalancer_update_spec.rb +1 -2
  155. data/spec/chef/knife/ionoscloud_location_list_spec.rb +1 -2
  156. data/spec/chef/knife/ionoscloud_natgateway_create_spec.rb +0 -1
  157. data/spec/chef/knife/ionoscloud_natgateway_delete_spec.rb +0 -1
  158. data/spec/chef/knife/ionoscloud_natgateway_get_spec.rb +0 -1
  159. data/spec/chef/knife/ionoscloud_natgateway_lan_add_spec.rb +2 -3
  160. data/spec/chef/knife/ionoscloud_natgateway_lan_remove_spec.rb +0 -1
  161. data/spec/chef/knife/ionoscloud_natgateway_list_spec.rb +0 -1
  162. data/spec/chef/knife/ionoscloud_natgateway_rule_add_spec.rb +0 -1
  163. data/spec/chef/knife/ionoscloud_natgateway_rule_list_spec.rb +0 -1
  164. data/spec/chef/knife/ionoscloud_natgateway_rule_remove_spec.rb +0 -1
  165. data/spec/chef/knife/ionoscloud_natgateway_rule_update_spec.rb +4 -5
  166. data/spec/chef/knife/ionoscloud_natgateway_update_spec.rb +4 -6
  167. data/spec/chef/knife/ionoscloud_networkloadbalancer_create_spec.rb +0 -1
  168. data/spec/chef/knife/ionoscloud_networkloadbalancer_delete_spec.rb +0 -1
  169. data/spec/chef/knife/ionoscloud_networkloadbalancer_get_spec.rb +0 -1
  170. data/spec/chef/knife/ionoscloud_networkloadbalancer_list_spec.rb +0 -1
  171. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_add_spec.rb +0 -1
  172. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_list_spec.rb +0 -1
  173. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_remove_spec.rb +0 -1
  174. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_add_spec.rb +1 -2
  175. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_list_spec.rb +0 -1
  176. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_target_remove_spec.rb +12 -15
  177. data/spec/chef/knife/ionoscloud_networkloadbalancer_rule_update_spec.rb +4 -6
  178. data/spec/chef/knife/ionoscloud_networkloadbalancer_update_spec.rb +2 -3
  179. data/spec/chef/knife/ionoscloud_nic_create_spec.rb +0 -1
  180. data/spec/chef/knife/ionoscloud_nic_delete_spec.rb +0 -1
  181. data/spec/chef/knife/ionoscloud_nic_get_spec.rb +0 -1
  182. data/spec/chef/knife/ionoscloud_nic_list_spec.rb +0 -1
  183. data/spec/chef/knife/ionoscloud_nic_update_spec.rb +1 -2
  184. data/spec/chef/knife/ionoscloud_node_delete_spec.rb +0 -1
  185. data/spec/chef/knife/ionoscloud_node_get_spec.rb +0 -1
  186. data/spec/chef/knife/ionoscloud_node_list_spec.rb +0 -1
  187. data/spec/chef/knife/ionoscloud_node_replace_spec.rb +0 -1
  188. data/spec/chef/knife/ionoscloud_nodepool_create_spec.rb +2 -1
  189. data/spec/chef/knife/ionoscloud_nodepool_delete_spec.rb +2 -1
  190. data/spec/chef/knife/ionoscloud_nodepool_get_spec.rb +1 -1
  191. data/spec/chef/knife/ionoscloud_nodepool_lan_add_spec.rb +3 -3
  192. data/spec/chef/knife/{ionoscloud_nodepool_lan_remove.rb → ionoscloud_nodepool_lan_remove_spec.rb} +14 -17
  193. data/spec/chef/knife/ionoscloud_nodepool_list_spec.rb +3 -2
  194. data/spec/chef/knife/ionoscloud_nodepool_update_spec.rb +3 -3
  195. data/spec/chef/knife/ionoscloud_pcc_create_spec.rb +0 -1
  196. data/spec/chef/knife/ionoscloud_pcc_delete_spec.rb +0 -1
  197. data/spec/chef/knife/ionoscloud_pcc_get_spec.rb +0 -1
  198. data/spec/chef/knife/ionoscloud_pcc_list_spec.rb +0 -1
  199. data/spec/chef/knife/ionoscloud_pcc_update_spec.rb +0 -1
  200. data/spec/chef/knife/ionoscloud_request_get_spec.rb +0 -1
  201. data/spec/chef/knife/ionoscloud_request_list_spec.rb +1 -3
  202. data/spec/chef/knife/ionoscloud_request_status_spec.rb +2 -4
  203. data/spec/chef/knife/ionoscloud_request_wait_spec.rb +2 -5
  204. data/spec/chef/knife/ionoscloud_resource_list_spec.rb +1 -3
  205. data/spec/chef/knife/ionoscloud_s3key_create_spec.rb +0 -1
  206. data/spec/chef/knife/ionoscloud_s3key_delete_spec.rb +0 -1
  207. data/spec/chef/knife/ionoscloud_s3key_get_spec.rb +0 -1
  208. data/spec/chef/knife/ionoscloud_s3key_list_spec.rb +0 -1
  209. data/spec/chef/knife/ionoscloud_server_console_spec.rb +2 -4
  210. data/spec/chef/knife/ionoscloud_server_create_spec.rb +0 -1
  211. data/spec/chef/knife/ionoscloud_server_delete_spec.rb +0 -1
  212. data/spec/chef/knife/ionoscloud_server_get_spec.rb +0 -1
  213. data/spec/chef/knife/ionoscloud_server_list_spec.rb +0 -1
  214. data/spec/chef/knife/ionoscloud_server_reboot_spec.rb +0 -1
  215. data/spec/chef/knife/ionoscloud_server_resume_spec.rb +0 -1
  216. data/spec/chef/knife/ionoscloud_server_start_spec.rb +0 -1
  217. data/spec/chef/knife/ionoscloud_server_stop_spec.rb +0 -1
  218. data/spec/chef/knife/ionoscloud_server_suspend_spec.rb +0 -1
  219. data/spec/chef/knife/ionoscloud_server_token_spec.rb +2 -4
  220. data/spec/chef/knife/ionoscloud_server_update_spec.rb +0 -1
  221. data/spec/chef/knife/ionoscloud_server_upgrade_spec.rb +0 -1
  222. data/spec/chef/knife/ionoscloud_share_create_spec.rb +0 -1
  223. data/spec/chef/knife/ionoscloud_share_delete_spec.rb +0 -1
  224. data/spec/chef/knife/ionoscloud_share_get_spec.rb +0 -1
  225. data/spec/chef/knife/ionoscloud_share_list_spec.rb +0 -1
  226. data/spec/chef/knife/ionoscloud_share_update_spec.rb +0 -1
  227. data/spec/chef/knife/ionoscloud_snapshot_create_spec.rb +0 -1
  228. data/spec/chef/knife/ionoscloud_snapshot_delete_spec.rb +0 -1
  229. data/spec/chef/knife/ionoscloud_snapshot_get_spec.rb +0 -1
  230. data/spec/chef/knife/ionoscloud_snapshot_list_spec.rb +0 -1
  231. data/spec/chef/knife/ionoscloud_snapshot_restore_spec.rb +0 -1
  232. data/spec/chef/knife/ionoscloud_snapshot_update_spec.rb +0 -1
  233. data/spec/chef/knife/ionoscloud_template_list_spec.rb +0 -1
  234. data/spec/chef/knife/ionoscloud_user_create_spec.rb +0 -1
  235. data/spec/chef/knife/ionoscloud_user_delete_spec.rb +0 -1
  236. data/spec/chef/knife/ionoscloud_user_get_spec.rb +0 -1
  237. data/spec/chef/knife/ionoscloud_user_list_spec.rb +2 -3
  238. data/spec/chef/knife/ionoscloud_user_ssourl_spec.rb +2 -4
  239. data/spec/chef/knife/ionoscloud_user_update_spec.rb +0 -1
  240. data/spec/chef/knife/ionoscloud_volume_attach_spec.rb +0 -1
  241. data/spec/chef/knife/ionoscloud_volume_create_spec.rb +0 -1
  242. data/spec/chef/knife/ionoscloud_volume_delete_spec.rb +0 -1
  243. data/spec/chef/knife/ionoscloud_volume_detach_spec.rb +0 -1
  244. data/spec/chef/knife/ionoscloud_volume_get_spec.rb +0 -1
  245. data/spec/chef/knife/ionoscloud_volume_list_spec.rb +2 -3
  246. data/spec/chef/knife/ionoscloud_volume_update_spec.rb +0 -1
  247. data/spec/spec_helper.rb +10 -7
  248. metadata +12 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 844d50cdb67740c66e4509ae0d8ad0a95b486c3e31558c30d54f8f96a019f4a2
4
- data.tar.gz: b8fdedf4d8c42e69c33306b67580c13c6522d0c2fc5927b5430909fbd6c62d30
3
+ metadata.gz: 9385d226271569cd7a89fa7d99feb5c96f3d693b5e44d521d706b9d89c40777d
4
+ data.tar.gz: 6150c9bbc71616e583055427fa7cc973cb65e4dad19fdabe86af50de9a1b02fa
5
5
  SHA512:
6
- metadata.gz: af364bfbcaa19a9471d22f48e4261a71f941ff2584618587161da76ae4691c0830e20357354a99628661f69bd013f9f6b57f5373d8ffb4ff029ffc270caafb35
7
- data.tar.gz: 4a77204a6becf7a87452921a9379a394dbf788e9ad4c3fca24ed349a03d347b7dc1ee6e8495e8c0f27c07084f5f5d1bb1bb4aaf0d9708199076a1ccfdda7b978
6
+ metadata.gz: 42a7960791b3f0a8bc15bb544afc1f37ceb90f66f99d334ed8668c49109ebfada511829b73a044e47363f6869e86c42e9dd18d91f2fbecbe535eaa6b0f3df904
7
+ data.tar.gz: 904dc4e6a4efb8b02f8f951dbda26c1209b73b3597837197f431631ed6727ed23bc6e5dc59021b0f4d88e4d5192d28c1c6acdc4a2068946280aa714fe50d5a30
@@ -1,3 +1,5 @@
1
+
2
+
1
3
  name: Build
2
4
  on:
3
5
  push:
@@ -13,6 +15,21 @@ jobs:
13
15
  - uses: actions/checkout@v2
14
16
  with:
15
17
  fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
18
+
19
+ - name: Setup Ruby
20
+ uses: ruby/setup-ruby@v1.61.1
21
+ with:
22
+ ruby-version: 2.7
23
+
24
+ - name: Install the knife plugin
25
+ run: bundle
26
+
27
+ - name: Run the tests
28
+ run: rspec
29
+
30
+ - name: Update file paths in coverage.json
31
+ run: sed -i 's+/home/runner/work/knife-ionos-cloud/knife-ionos-cloud+/github/workspace+g' coverage/coverage.json
32
+
16
33
  - name: SonarCloud Scan
17
34
  uses: SonarSource/sonarcloud-github-action@master
18
35
  env:
data/.rubocop.yml CHANGED
@@ -145,3 +145,75 @@ Style/RedundantReturn:
145
145
  Style/Semicolon:
146
146
  Enabled: true
147
147
  AllowAsExpressionSeparator: true
148
+
149
+ Lint/RescueException:
150
+ Enabled: true
151
+
152
+ Style/BlockDelimiters:
153
+ Enabled: true
154
+
155
+ Layout/DotPosition:
156
+ Enabled: true
157
+
158
+ Style/StringLiterals:
159
+ Enabled: true
160
+
161
+ Style/IfUnlessModifier:
162
+ Enabled: true
163
+
164
+ Layout/MultilineBlockLayout:
165
+ Enabled: true
166
+
167
+ Layout/EmptyLinesAroundBlockBody:
168
+ Enabled: true
169
+
170
+ Style/TrailingCommaInHashLiteral:
171
+ Description: 'Checks for trailing comma in hash literals.'
172
+ Enabled: true
173
+ # If `comma`, the cop requires a comma after the last item in a hash,
174
+ # but only when each item is on its own line.
175
+ # If `consistent_comma`, the cop requires a comma after the last item of all
176
+ # non-empty, multiline hash literals.
177
+ EnforcedStyleForMultiline: consistent_comma
178
+ SupportedStylesForMultiline:
179
+ - comma
180
+ - consistent_comma
181
+ - no_comma
182
+ VersionAdded: '0.53'
183
+
184
+ Style/TrailingCommaInArguments:
185
+ Description: 'Checks for trailing comma in argument lists.'
186
+ StyleGuide: '#no-trailing-params-comma'
187
+ Enabled: true
188
+ VersionAdded: '0.36'
189
+ # If `comma`, the cop requires a comma after the last argument, but only for
190
+ # parenthesized method calls where each argument is on its own line.
191
+ # If `consistent_comma`, the cop requires a comma after the last argument,
192
+ # for all parenthesized method calls with arguments.
193
+ EnforcedStyleForMultiline: consistent_comma
194
+ SupportedStylesForMultiline:
195
+ - comma
196
+ - consistent_comma
197
+ - no_comma
198
+
199
+ Style/TrailingCommaInArrayLiteral:
200
+ Description: 'Checks for trailing comma in array literals.'
201
+ StyleGuide: '#no-trailing-array-commas'
202
+ Enabled: true
203
+ VersionAdded: '0.53'
204
+ # If `comma`, the cop requires a comma after the last item in an array,
205
+ # but only when each item is on its own line.
206
+ # If `consistent_comma`, the cop requires a comma after the last item of all
207
+ # non-empty, multiline array literals.
208
+ EnforcedStyleForMultiline: consistent_comma
209
+ SupportedStylesForMultiline:
210
+ - comma
211
+ - consistent_comma
212
+ - no_comma
213
+
214
+ Lint/UselessAssignment:
215
+ Enabled: true
216
+
217
+ Layout/LineLength:
218
+ Enabled: false
219
+ Max: 120
@@ -7,22 +7,22 @@ require 'fileutils'
7
7
 
8
8
  $LOAD_PATH << '.'
9
9
 
10
- Dir["../lib/chef/knife/*.rb"].each { |file| require file }
10
+ Dir['../lib/chef/knife/*.rb'].each { |file| require file }
11
11
 
12
12
  FOLDER_TO_NAME_MAP = {
13
13
  'backup' => 'Managed Backup',
14
14
  'user' => 'User Management',
15
15
  'compute-engine' => 'Compute Engine',
16
16
  'kubernetes' => 'Managed Kubernetes',
17
- 'dbaas-postgres' => 'DbaaS Postgres',
17
+ 'dbaas-postgres' => 'DBaaS Postgres',
18
18
  }.freeze
19
19
 
20
20
  def underscore_string(s)
21
- s.gsub(/::/, '/').
22
- gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2').
23
- gsub(/([a-z\d])([A-Z])/, '\1_\2').
24
- tr("-", "_").
25
- downcase
21
+ s.gsub(/::/, '/')
22
+ .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
23
+ .gsub(/([a-z\d])([A-Z])/, '\1_\2')
24
+ .tr('-', '_')
25
+ .downcase
26
26
  end
27
27
 
28
28
  class Subcommand < Mustache
@@ -53,12 +53,12 @@ class Summary < Mustache
53
53
  end
54
54
 
55
55
  def generate_subcommand_doc(subcommand)
56
- options = subcommand.options.map { |key, value|
56
+ options = subcommand.options.map do |key, value|
57
57
  value[:name] = key
58
58
  value[:required] = subcommand.required_options.include? key
59
59
  value[:description][0] = value[:description][0].downcase
60
60
  value
61
- }.rotate(3)
61
+ end.rotate(3)
62
62
 
63
63
  subcommand_name = subcommand.class.to_s
64
64
  subcommand_name.slice!('Chef::Knife::Ionoscloud')
@@ -79,7 +79,7 @@ def generate_subcommand_doc(subcommand)
79
79
 
80
80
  FileUtils.mkdir_p(File.dirname(filename)) unless File.directory?(File.dirname(filename))
81
81
 
82
- File.open(filename, 'w') { |f|
82
+ File.open(filename, 'w') do |f|
83
83
  f.write(
84
84
  Subcommand.new(
85
85
  subcommand.banner,
@@ -89,7 +89,7 @@ def generate_subcommand_doc(subcommand)
89
89
  subcommand.required_options.map { |el| el.to_s.gsub '_', '\_' },
90
90
  ).render,
91
91
  )
92
- }
92
+ end
93
93
 
94
94
  puts "Generated documentation for #{subcommand_name}."
95
95
  {
@@ -102,23 +102,20 @@ end
102
102
  subcommands = []
103
103
 
104
104
  begin
105
- Chef::Knife.constants.select { |c|
105
+ Chef::Knife.constants.select do |c|
106
106
  Chef::Knife.const_get(c).is_a?(Class) && c.to_s.start_with?('Ionoscloud')
107
- }.each {
108
- |subcommand|
107
+ end.each do |subcommand|
109
108
  # if subcommand.to_s == 'IonoscloudBackupunitCreate'
110
109
  begin
111
110
  subcommands.append(generate_subcommand_doc(Chef::Knife.const_get(subcommand).new))
112
- rescue Exception => exc
111
+ rescue StandardError => exc
113
112
  puts "Could not generate doc for #{subcommand}. Error: #{exc}"
114
113
  # raise exc
115
114
  end
116
115
  # end
117
- }
118
- rescue NameError => exc
119
- if exc.message == 'uninitialized constant Chef'
120
- puts 'This must be run from /docs directory!'
121
116
  end
117
+ rescue NameError => exc
118
+ puts 'This must be run from /docs directory!' if exc.message == 'uninitialized constant Chef'
122
119
  raise exc
123
120
  end
124
121
 
@@ -133,10 +130,10 @@ subcommands.map do |subcommand|
133
130
  end
134
131
 
135
132
 
136
- final = []
133
+ final_categories = []
137
134
 
138
- categories.map { |key, value| final << { category: key, subcommands: value } }
135
+ categories.map { |key, value| final_categories << { category: key, subcommands: value.sort_by { |a| a[:title] } } }
139
136
 
140
- File.open('summary.md', 'w') { |f|
141
- f.write(Summary.new(final).render)
142
- }
137
+ File.open('summary.md', 'w') do |f|
138
+ f.write(Summary.new(final_categories).render)
139
+ end
@@ -1,6 +1,6 @@
1
1
  # DbaasPostgresBackupGet
2
2
 
3
- Retrieves information about a Ionoscloud DBaaS Cluster Backup.
3
+ Retrieve a PostgreSQL cluster backup by using its ID. This value can be found when you GET a list of PostgreSQL cluster backups.
4
4
 
5
5
  ```text
6
6
  knife ionoscloud dbaas postgres cluster get (options)
@@ -1,7 +1,6 @@
1
1
  # DbaasPostgresBackupList
2
2
 
3
- If cluster_id is provided, retrieves a list of all backups of the given PostgreSQL cluster,
4
- otherwise retrieves a list of all PostgreSQL cluster backups.
3
+ If cluster_id is provided, retrieves a list of all backups of the given PostgreSQL cluster, otherwise retrieves a list of all PostgreSQL cluster backups.
5
4
 
6
5
  ```text
7
6
  knife ionoscloud dbaas postgres backup list (options)
@@ -1,6 +1,6 @@
1
1
  # DbaasPostgresClusterCreate
2
2
 
3
- Creates a new PostgreSQL cluster.
3
+ Creates a new PostgreSQL cluster. If the `fromBackup` field is populated, the new cluster will be created based on the given backup.
4
4
 
5
5
  ```text
6
6
  knife ionoscloud dbaas postgres cluster create (options)
@@ -55,6 +55,9 @@ knife ionoscloud dbaas postgres cluster create (options)
55
55
  be where all of your instances live. Property cannot be modified
56
56
  after datacenter creation (disallowed in update requests) (required)
57
57
 
58
+ backup_location: --backup-location BACKUP_LOCATION
59
+ the S3 location where the backups will be stored.
60
+
58
61
  display_name: --name DISPLAY_NAME, -n DISPLAY_NAME
59
62
  the friendly name of your cluster. (required)
60
63
 
@@ -68,7 +71,7 @@ knife ionoscloud dbaas postgres cluster create (options)
68
71
  day Of the week when to perform the maintenance.
69
72
 
70
73
  synchronization_mode: --synchronization-mode SYNCHRONIZATION_MODE, -s SYNCHRONIZATION_MODE
71
- represents different modes of replication (required)
74
+ represents different modes of replication. One of [ASYNCHRONOUS, SYNCHRONOUS, STRICTLY_SYNCHRONOUS] (required)
72
75
 
73
76
  username: --db-user DB_USERNAME
74
77
  the username for the initial postgres user.
@@ -96,5 +99,5 @@ knife ionoscloud dbaas postgres cluster create (options)
96
99
  ## Example
97
100
 
98
101
  ```text
99
- knife ionoscloud dbaas postgres cluster create --extra-config EXTRA_CONFIG_FILE_PATH --postgres-version POSTGRES_VERSION --instances INSTANCES --cores CORES --ram RAM --size STORAGE_SIZE --type STORAGE_TYPE --connections CONNECTIONS --location LOCATION --name DISPLAY_NAME --from-backup FROM_BACKUP --time TIME --day-of-the-week DAY_OF_THE_WEEK --synchronization-mode SYNCHRONIZATION_MODE --db-user DB_USERNAME --db-password DB_PASSWORD --backup-id BACKUP_ID --recovery-target-time RECOVERY_TARGET_TIME --username USERNAME --password PASSWORD --url URL
102
+ knife ionoscloud dbaas postgres cluster create --extra-config EXTRA_CONFIG_FILE_PATH --postgres-version POSTGRES_VERSION --instances INSTANCES --cores CORES --ram RAM --size STORAGE_SIZE --type STORAGE_TYPE --connections CONNECTIONS --location LOCATION --backup-location BACKUP_LOCATION --name DISPLAY_NAME --from-backup FROM_BACKUP --time TIME --day-of-the-week DAY_OF_THE_WEEK --synchronization-mode SYNCHRONIZATION_MODE --db-user DB_USERNAME --db-password DB_PASSWORD --backup-id BACKUP_ID --recovery-target-time RECOVERY_TARGET_TIME --username USERNAME --password PASSWORD --url URL
100
103
  ```
@@ -1,6 +1,6 @@
1
1
  # DbaasPostgresClusterDelete
2
2
 
3
- Delete a Ionoscloud Dbaas Cluster
3
+ Delete a PostgreSQL cluster.
4
4
 
5
5
  ```text
6
6
  knife ionoscloud dbaas postgres cluster delete CLUSTER_ID [CLUSTER_ID]
@@ -1,6 +1,6 @@
1
1
  # DbaasPostgresClusterGet
2
2
 
3
- Retrieves information about a Ionoscloud DBaaS Cluster.
3
+ You can retrieve a PostgreSQL cluster by using its ID. This value can be found in the response body when a PostgreSQL cluster is created or when you GET a list of PostgreSQL clusters.
4
4
 
5
5
  ```text
6
6
  knife ionoscloud dbaas postgres cluster get (options)
@@ -1,6 +1,6 @@
1
1
  # DbaasPostgresClusterList
2
2
 
3
- retrieves a list of all PostgreSQL clusters.
3
+ Retrieves a list of PostgreSQL clusters.
4
4
 
5
5
  ```text
6
6
  knife ionoscloud dbaas postgres cluster list
@@ -1,6 +1,6 @@
1
1
  # DbaasPostgresClusterRestore
2
2
 
3
- Restore a Ionoscloud DBaaS Cluster.
3
+ Triggers an in-place restore of the given PostgreSQL.
4
4
 
5
5
  ```text
6
6
  knife ionoscloud dbaas postgres cluster restore (options)
@@ -39,7 +39,7 @@ knife ionoscloud dbaas postgres cluster update (options)
39
39
  time: --time TIME
40
40
  time Of the day when to perform the maintenance.
41
41
 
42
- weekday: --weekday WEEKDAY, -d WEEKDAY
42
+ day_of_the_week: --day-of-the-week DAY_OF_THE_WEEK, -d DAY_OF_THE_WEEK
43
43
  day Of the week when to perform the maintenance.
44
44
 
45
45
  postgres_version: --postgres-version POSTGRES_VERSION
@@ -61,5 +61,5 @@ knife ionoscloud dbaas postgres cluster update (options)
61
61
  ## Example
62
62
 
63
63
  ```text
64
- knife ionoscloud dbaas postgres cluster update --extra-config EXTRA_CONFIG_FILE_PATH --cluster-id CLUSTER_ID --cores CORES --ram RAM --size STORAGE_SIZE --connections CONNECTIONS --name DISPLAY_NAME --time TIME --weekday WEEKDAY --postgres-version POSTGRES_VERSION --instances INSTANCES --username USERNAME --password PASSWORD --url URL
64
+ knife ionoscloud dbaas postgres cluster update --extra-config EXTRA_CONFIG_FILE_PATH --cluster-id CLUSTER_ID --cores CORES --ram RAM --size STORAGE_SIZE --connections CONNECTIONS --name DISPLAY_NAME --time TIME --day-of-the-week DAY_OF_THE_WEEK --postgres-version POSTGRES_VERSION --instances INSTANCES --username USERNAME --password PASSWORD --url URL
65
65
  ```
@@ -1,6 +1,6 @@
1
1
  # DbaasPostgresLogsGet
2
2
 
3
- Get logs of your cluster
3
+ Retrieves PostgreSQL logs based on the given parameters.
4
4
 
5
5
  ```text
6
6
  knife ionoscloud dbaas postgres logs get
@@ -25,10 +25,13 @@ knife ionoscloud dbaas postgres logs get
25
25
  the maximal number of log lines to return.
26
26
 
27
27
  start: --start START
28
- the start time for the query in RFC3339 format.
28
+ the start time for the query in RFC3339 format. Can also be specified as a time delta since the current moment: 2h - 2 hours ago, 20m - 20 minutes ago. Only hours and minutes ar supported, and not at the same time.
29
29
 
30
30
  end: --end END
31
- the end time for the query in RFC3339 format.
31
+ the end time for the query in RFC3339 format. Can also be specified as a time delta since the current moment: 2h - 2 hours ago, 20m - 20 minutes ago. Only hours and minutes ar supported, and not at the same time.
32
+
33
+ direction: --direction DIRECTION
34
+ the direction in which to scan through the logs. The logs are returned in order of the direction. One of ["BACKWARD", "FORWARD"]
32
35
 
33
36
  ionoscloud_username: --username USERNAME, -u USERNAME
34
37
  your Ionoscloud username (required)
@@ -43,5 +46,5 @@ knife ionoscloud dbaas postgres logs get
43
46
  ## Example
44
47
 
45
48
  ```text
46
- knife ionoscloud dbaas postgres logs get--extra-config EXTRA_CONFIG_FILE_PATH --cluster-id CLUSTER_ID --limit LIMIT --start START --end END --username USERNAME --password PASSWORD --url URL
49
+ knife ionoscloud dbaas postgres logs get--extra-config EXTRA_CONFIG_FILE_PATH --cluster-id CLUSTER_ID --limit LIMIT --start START --end END --direction DIRECTION --username USERNAME --password PASSWORD --url URL
47
50
  ```
@@ -1,7 +1,6 @@
1
1
  # DbaasPostgresVersionList
2
2
 
3
- If cluster_id is provided, retrieves a list of all PostgreSQL versions available for a cluster including the current version,
4
- otherwise retrieves a list of all available PostgreSQL versions.
3
+ If cluster_id is provided, retrieves a list of all PostgreSQL versions available for a cluster including the current version, otherwise retrieves a list of all available PostgreSQL versions.
5
4
 
6
5
  ```text
7
6
  knife ionoscloud dbaas postgres version list
@@ -24,6 +24,9 @@ knife ionoscloud k8s create (options)
24
24
  version: --version VERSION, -v VERSION
25
25
  the version for the Kubernetes cluster.
26
26
 
27
+ private: --private
28
+ the indicator if the cluster is public or private. Be aware that creating a private cluster is currently in beta phase.
29
+
27
30
  maintenance_day: --maintenance-day MAINTENANCE_DAY, -d MAINTENANCE_DAY
28
31
  day Of the week when to perform the maintenance.
29
32
 
@@ -49,5 +52,5 @@ knife ionoscloud k8s create (options)
49
52
  ## Example
50
53
 
51
54
  ```text
52
- knife ionoscloud k8s create --extra-config EXTRA_CONFIG_FILE_PATH --name NAME --version VERSION --maintenance-day MAINTENANCE_DAY --maintenance-time MAINTENANCE_TIME --subnets SUBNET [SUBNET] --buckets S3_BUCKET [S3_BUCKET] --username USERNAME --password PASSWORD --url URL
55
+ knife ionoscloud k8s create --extra-config EXTRA_CONFIG_FILE_PATH --name NAME --version VERSION --private --maintenance-day MAINTENANCE_DAY --maintenance-time MAINTENANCE_TIME --subnets SUBNET [SUBNET] --buckets S3_BUCKET [S3_BUCKET] --username USERNAME --password PASSWORD --url URL
53
56
  ```
@@ -78,6 +78,9 @@ knife ionoscloud nodepool create (options)
78
78
  lans: --lans LAN_ID [LAN_ID]
79
79
  an array of additional private LANs attached to worker nodes
80
80
 
81
+ gateway_ip: --gateway GATEWAY_IP
82
+ public IP address for the gateway performing source NAT for the node pool's nodes belonging to a private cluster. Required only if the node pool belongs to a private cluster.
83
+
81
84
  public_ips: --ips PUBLIC_IP [PUBLIC_IP]
82
85
  optional array of reserved public IP addresses to be used by the nodes. IPs must be from same location as the data center used for the node pool. The array must contain one extra IP than maximum number of nodes could be. (nodeCount+1 if fixed node amount or maxNodeCount+1 if auto scaling is used) The extra provided IP Will be used during rebuilding of nodes.
83
86
 
@@ -100,5 +103,5 @@ knife ionoscloud nodepool create (options)
100
103
  ## Example
101
104
 
102
105
  ```text
103
- knife ionoscloud nodepool create --extra-config EXTRA_CONFIG_FILE_PATH --datacenter-id DATACENTER_ID --cluster-id CLUSTER_ID --name NAME --version VERSION --maintenance-day MAINTENANCE_DAY --maintenance-time MAINTENANCE_TIME --node-count NODE_COUNT --cpu-family CPU_FAMILY --cores CORES --ram RAM --availability-zone AVAILABILITY_ZONE --storage-type STORAGE_TYPE --storage-size STORAGE_SIZE --min-node-count MIN_NODE_COUNT --max-node-count MAX_NODE_COUNT --lans LAN_ID [LAN_ID] --ips PUBLIC_IP [PUBLIC_IP] --labels LABEL [LABEL] --annotations ANNOTATION [ANNOTATION] --username USERNAME --password PASSWORD --url URL
106
+ knife ionoscloud nodepool create --extra-config EXTRA_CONFIG_FILE_PATH --datacenter-id DATACENTER_ID --cluster-id CLUSTER_ID --name NAME --version VERSION --maintenance-day MAINTENANCE_DAY --maintenance-time MAINTENANCE_TIME --node-count NODE_COUNT --cpu-family CPU_FAMILY --cores CORES --ram RAM --availability-zone AVAILABILITY_ZONE --storage-type STORAGE_TYPE --storage-size STORAGE_SIZE --min-node-count MIN_NODE_COUNT --max-node-count MAX_NODE_COUNT --lans LAN_ID [LAN_ID] --gateway GATEWAY_IP --ips PUBLIC_IP [PUBLIC_IP] --labels LABEL [LABEL] --annotations ANNOTATION [ANNOTATION] --username USERNAME --password PASSWORD --url URL
104
107
  ```