knife-ionoscloud 6.0.0.alpha.1 → 6.0.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (230) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/publish.yml +4 -1
  3. data/docs/README.md +20 -0
  4. data/docs/docs_generator.rb +1 -1
  5. data/docs/subcommands/backupunit_create.md +4 -1
  6. data/docs/subcommands/backupunit_delete.md +4 -1
  7. data/docs/subcommands/backupunit_list.md +4 -1
  8. data/docs/subcommands/backupunit_ssourl.md +4 -1
  9. data/docs/subcommands/composite_server_create.md +12 -3
  10. data/docs/subcommands/contract_list.md +4 -1
  11. data/docs/subcommands/cube_server_create.md +91 -0
  12. data/docs/subcommands/datacenter_create.md +4 -1
  13. data/docs/subcommands/datacenter_delete.md +4 -1
  14. data/docs/subcommands/datacenter_list.md +4 -1
  15. data/docs/subcommands/firewall_create.md +8 -2
  16. data/docs/subcommands/firewall_delete.md +3 -0
  17. data/docs/subcommands/firewall_list.md +4 -1
  18. data/docs/subcommands/flowlog_create.md +63 -0
  19. data/docs/subcommands/flowlog_delete.md +51 -0
  20. data/docs/subcommands/flowlog_list.md +51 -0
  21. data/docs/subcommands/group_create.md +13 -1
  22. data/docs/subcommands/group_delete.md +4 -1
  23. data/docs/subcommands/group_get.md +4 -1
  24. data/docs/subcommands/group_list.md +4 -1
  25. data/docs/subcommands/group_user_add.md +3 -0
  26. data/docs/subcommands/group_user_remove.md +3 -0
  27. data/docs/subcommands/image_list.md +4 -1
  28. data/docs/subcommands/ipblock_create.md +4 -1
  29. data/docs/subcommands/ipblock_delete.md +4 -1
  30. data/docs/subcommands/ipblock_list.md +4 -1
  31. data/docs/subcommands/ipfailover_add.md +4 -1
  32. data/docs/subcommands/ipfailover_remove.md +4 -1
  33. data/docs/subcommands/k8s_create.md +4 -1
  34. data/docs/subcommands/k8s_delete.md +4 -1
  35. data/docs/subcommands/k8s_list.md +4 -1
  36. data/docs/subcommands/kubeconfig_get.md +4 -1
  37. data/docs/subcommands/label_add.md +4 -1
  38. data/docs/subcommands/label_list.md +4 -1
  39. data/docs/subcommands/label_remove.md +3 -0
  40. data/docs/subcommands/lan_create.md +4 -1
  41. data/docs/subcommands/lan_delete.md +3 -0
  42. data/docs/subcommands/lan_list.md +4 -1
  43. data/docs/subcommands/loadbalancer_create.md +4 -1
  44. data/docs/subcommands/loadbalancer_delete.md +3 -0
  45. data/docs/subcommands/loadbalancer_get.md +4 -1
  46. data/docs/subcommands/loadbalancer_list.md +4 -1
  47. data/docs/subcommands/loadbalancer_nic_add.md +3 -0
  48. data/docs/subcommands/loadbalancer_nic_remove.md +3 -0
  49. data/docs/subcommands/location_list.md +4 -1
  50. data/docs/subcommands/natgateway_create.md +41 -0
  51. data/docs/subcommands/natgateway_delete.md +35 -0
  52. data/docs/subcommands/natgateway_lan_add.md +46 -0
  53. data/docs/subcommands/natgateway_lan_remove.md +39 -0
  54. data/docs/subcommands/natgateway_list.md +35 -0
  55. data/docs/subcommands/natgateway_rule_add.md +66 -0
  56. data/docs/subcommands/natgateway_rule_list.md +38 -0
  57. data/docs/subcommands/natgateway_rule_remove.md +39 -0
  58. data/docs/subcommands/networkloadbalancer_create.md +54 -0
  59. data/docs/subcommands/networkloadbalancer_delete.md +35 -0
  60. data/docs/subcommands/networkloadbalancer_list.md +35 -0
  61. data/docs/subcommands/networkloadbalancer_rule_add.md +72 -0
  62. data/docs/subcommands/networkloadbalancer_rule_list.md +39 -0
  63. data/docs/subcommands/networkloadbalancer_rule_remove.md +39 -0
  64. data/docs/subcommands/networkloadbalancer_rule_target_add.md +64 -0
  65. data/docs/subcommands/networkloadbalancer_rule_target_list.md +43 -0
  66. data/docs/subcommands/networkloadbalancer_rule_target_remove.md +51 -0
  67. data/docs/subcommands/nic_create.md +6 -3
  68. data/docs/subcommands/nic_delete.md +3 -0
  69. data/docs/subcommands/nic_list.md +4 -1
  70. data/docs/subcommands/node_delete.md +3 -0
  71. data/docs/subcommands/node_list.md +4 -1
  72. data/docs/subcommands/node_replace.md +3 -0
  73. data/docs/subcommands/nodepool_create.md +7 -1
  74. data/docs/subcommands/nodepool_delete.md +3 -0
  75. data/docs/subcommands/nodepool_lan_add.md +49 -0
  76. data/docs/subcommands/nodepool_lan_remove.md +39 -0
  77. data/docs/subcommands/nodepool_list.md +4 -1
  78. data/docs/subcommands/pcc_create.md +4 -1
  79. data/docs/subcommands/pcc_delete.md +4 -1
  80. data/docs/subcommands/pcc_list.md +4 -1
  81. data/docs/subcommands/request_list.md +4 -1
  82. data/docs/subcommands/request_status.md +4 -1
  83. data/docs/subcommands/request_wait.md +4 -1
  84. data/docs/subcommands/resource_list.md +4 -1
  85. data/docs/subcommands/s3key_create.md +4 -1
  86. data/docs/subcommands/s3key_delete.md +3 -0
  87. data/docs/subcommands/s3key_list.md +4 -1
  88. data/docs/subcommands/server_console.md +39 -0
  89. data/docs/subcommands/server_create.md +4 -1
  90. data/docs/subcommands/server_delete.md +3 -0
  91. data/docs/subcommands/server_list.md +7 -1
  92. data/docs/subcommands/server_reboot.md +3 -0
  93. data/docs/subcommands/server_resume.md +35 -0
  94. data/docs/subcommands/server_start.md +3 -0
  95. data/docs/subcommands/server_stop.md +3 -0
  96. data/docs/subcommands/server_suspend.md +35 -0
  97. data/docs/subcommands/server_token.md +39 -0
  98. data/docs/subcommands/server_upgrade.md +39 -0
  99. data/docs/subcommands/share_create.md +4 -1
  100. data/docs/subcommands/share_delete.md +3 -0
  101. data/docs/subcommands/share_list.md +4 -1
  102. data/docs/subcommands/snapshot_create.md +4 -1
  103. data/docs/subcommands/snapshot_delete.md +4 -1
  104. data/docs/subcommands/snapshot_list.md +4 -1
  105. data/docs/subcommands/snapshot_restore.md +4 -1
  106. data/docs/subcommands/template_list.md +31 -0
  107. data/docs/subcommands/user_create.md +4 -1
  108. data/docs/subcommands/user_delete.md +4 -1
  109. data/docs/subcommands/user_list.md +4 -1
  110. data/docs/subcommands/user_ssourl.md +4 -1
  111. data/docs/subcommands/volume_attach.md +3 -0
  112. data/docs/subcommands/volume_create.md +11 -5
  113. data/docs/subcommands/volume_delete.md +3 -0
  114. data/docs/subcommands/volume_detach.md +3 -0
  115. data/docs/subcommands/volume_list.md +4 -1
  116. data/docs/summary.md +29 -0
  117. data/lib/chef/knife/ionoscloud_backupunit_create.rb +1 -0
  118. data/lib/chef/knife/ionoscloud_backupunit_delete.rb +1 -0
  119. data/lib/chef/knife/ionoscloud_backupunit_list.rb +1 -0
  120. data/lib/chef/knife/ionoscloud_backupunit_ssourl.rb +1 -0
  121. data/lib/chef/knife/ionoscloud_base.rb +23 -0
  122. data/lib/chef/knife/ionoscloud_composite_server_create.rb +3 -2
  123. data/lib/chef/knife/ionoscloud_contract_list.rb +1 -0
  124. data/lib/chef/knife/ionoscloud_cube_server_create.rb +3 -2
  125. data/lib/chef/knife/ionoscloud_datacenter_create.rb +1 -0
  126. data/lib/chef/knife/ionoscloud_datacenter_delete.rb +1 -0
  127. data/lib/chef/knife/ionoscloud_datacenter_list.rb +1 -0
  128. data/lib/chef/knife/ionoscloud_firewall_create.rb +1 -0
  129. data/lib/chef/knife/ionoscloud_firewall_delete.rb +1 -0
  130. data/lib/chef/knife/ionoscloud_firewall_list.rb +1 -0
  131. data/lib/chef/knife/ionoscloud_flowlog_create.rb +1 -0
  132. data/lib/chef/knife/ionoscloud_flowlog_delete.rb +1 -0
  133. data/lib/chef/knife/ionoscloud_flowlog_list.rb +1 -0
  134. data/lib/chef/knife/ionoscloud_group_create.rb +1 -0
  135. data/lib/chef/knife/ionoscloud_group_delete.rb +1 -0
  136. data/lib/chef/knife/ionoscloud_group_get.rb +1 -0
  137. data/lib/chef/knife/ionoscloud_group_list.rb +1 -0
  138. data/lib/chef/knife/ionoscloud_group_user_add.rb +1 -0
  139. data/lib/chef/knife/ionoscloud_group_user_remove.rb +1 -0
  140. data/lib/chef/knife/ionoscloud_image_list.rb +1 -0
  141. data/lib/chef/knife/ionoscloud_ipblock_create.rb +1 -0
  142. data/lib/chef/knife/ionoscloud_ipblock_delete.rb +1 -0
  143. data/lib/chef/knife/ionoscloud_ipblock_list.rb +1 -0
  144. data/lib/chef/knife/ionoscloud_ipfailover_add.rb +1 -0
  145. data/lib/chef/knife/ionoscloud_ipfailover_remove.rb +1 -0
  146. data/lib/chef/knife/ionoscloud_k8s_create.rb +1 -0
  147. data/lib/chef/knife/ionoscloud_k8s_delete.rb +1 -0
  148. data/lib/chef/knife/ionoscloud_k8s_list.rb +1 -0
  149. data/lib/chef/knife/ionoscloud_kubeconfig_get.rb +1 -0
  150. data/lib/chef/knife/ionoscloud_label_add.rb +1 -0
  151. data/lib/chef/knife/ionoscloud_label_list.rb +1 -0
  152. data/lib/chef/knife/ionoscloud_label_remove.rb +1 -0
  153. data/lib/chef/knife/ionoscloud_lan_create.rb +1 -0
  154. data/lib/chef/knife/ionoscloud_lan_delete.rb +1 -0
  155. data/lib/chef/knife/ionoscloud_lan_list.rb +1 -0
  156. data/lib/chef/knife/ionoscloud_loadbalancer_create.rb +3 -1
  157. data/lib/chef/knife/ionoscloud_loadbalancer_delete.rb +1 -0
  158. data/lib/chef/knife/ionoscloud_loadbalancer_get.rb +1 -0
  159. data/lib/chef/knife/ionoscloud_loadbalancer_list.rb +1 -0
  160. data/lib/chef/knife/ionoscloud_loadbalancer_nic_add.rb +1 -0
  161. data/lib/chef/knife/ionoscloud_loadbalancer_nic_remove.rb +1 -0
  162. data/lib/chef/knife/ionoscloud_location_list.rb +1 -0
  163. data/lib/chef/knife/ionoscloud_natgateway_create.rb +2 -3
  164. data/lib/chef/knife/ionoscloud_natgateway_delete.rb +1 -0
  165. data/lib/chef/knife/ionoscloud_natgateway_lan_add.rb +2 -3
  166. data/lib/chef/knife/ionoscloud_natgateway_lan_remove.rb +1 -0
  167. data/lib/chef/knife/ionoscloud_natgateway_list.rb +1 -0
  168. data/lib/chef/knife/ionoscloud_natgateway_rule_add.rb +1 -0
  169. data/lib/chef/knife/ionoscloud_natgateway_rule_list.rb +1 -0
  170. data/lib/chef/knife/ionoscloud_natgateway_rule_remove.rb +1 -0
  171. data/lib/chef/knife/ionoscloud_networkloadbalancer_create.rb +3 -2
  172. data/lib/chef/knife/ionoscloud_networkloadbalancer_delete.rb +1 -0
  173. data/lib/chef/knife/ionoscloud_networkloadbalancer_list.rb +1 -0
  174. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_add.rb +1 -0
  175. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_list.rb +1 -0
  176. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_remove.rb +1 -0
  177. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_add.rb +1 -0
  178. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_list.rb +1 -0
  179. data/lib/chef/knife/ionoscloud_networkloadbalancer_rule_target_remove.rb +1 -0
  180. data/lib/chef/knife/ionoscloud_nic_create.rb +2 -3
  181. data/lib/chef/knife/ionoscloud_nic_delete.rb +1 -0
  182. data/lib/chef/knife/ionoscloud_nic_list.rb +1 -0
  183. data/lib/chef/knife/ionoscloud_node_delete.rb +1 -0
  184. data/lib/chef/knife/ionoscloud_node_list.rb +1 -0
  185. data/lib/chef/knife/ionoscloud_node_replace.rb +1 -0
  186. data/lib/chef/knife/ionoscloud_nodepool_create.rb +2 -1
  187. data/lib/chef/knife/ionoscloud_nodepool_delete.rb +1 -0
  188. data/lib/chef/knife/ionoscloud_nodepool_lan_add.rb +2 -3
  189. data/lib/chef/knife/ionoscloud_nodepool_lan_remove.rb +1 -0
  190. data/lib/chef/knife/ionoscloud_nodepool_list.rb +1 -0
  191. data/lib/chef/knife/ionoscloud_pcc_create.rb +2 -1
  192. data/lib/chef/knife/ionoscloud_pcc_delete.rb +1 -0
  193. data/lib/chef/knife/ionoscloud_pcc_list.rb +1 -0
  194. data/lib/chef/knife/ionoscloud_request_list.rb +1 -0
  195. data/lib/chef/knife/ionoscloud_request_status.rb +1 -0
  196. data/lib/chef/knife/ionoscloud_request_wait.rb +1 -0
  197. data/lib/chef/knife/ionoscloud_resource_list.rb +1 -0
  198. data/lib/chef/knife/ionoscloud_s3key_create.rb +1 -0
  199. data/lib/chef/knife/ionoscloud_s3key_delete.rb +1 -0
  200. data/lib/chef/knife/ionoscloud_s3key_list.rb +1 -0
  201. data/lib/chef/knife/ionoscloud_server_console.rb +1 -0
  202. data/lib/chef/knife/ionoscloud_server_create.rb +1 -0
  203. data/lib/chef/knife/ionoscloud_server_delete.rb +3 -2
  204. data/lib/chef/knife/ionoscloud_server_list.rb +1 -0
  205. data/lib/chef/knife/ionoscloud_server_reboot.rb +1 -0
  206. data/lib/chef/knife/ionoscloud_server_resume.rb +1 -0
  207. data/lib/chef/knife/ionoscloud_server_start.rb +1 -0
  208. data/lib/chef/knife/ionoscloud_server_stop.rb +1 -0
  209. data/lib/chef/knife/ionoscloud_server_suspend.rb +1 -0
  210. data/lib/chef/knife/ionoscloud_server_token.rb +1 -0
  211. data/lib/chef/knife/ionoscloud_server_upgrade.rb +1 -0
  212. data/lib/chef/knife/ionoscloud_share_create.rb +1 -0
  213. data/lib/chef/knife/ionoscloud_share_delete.rb +1 -0
  214. data/lib/chef/knife/ionoscloud_share_list.rb +1 -0
  215. data/lib/chef/knife/ionoscloud_snapshot_create.rb +1 -0
  216. data/lib/chef/knife/ionoscloud_snapshot_delete.rb +1 -0
  217. data/lib/chef/knife/ionoscloud_snapshot_list.rb +1 -0
  218. data/lib/chef/knife/ionoscloud_snapshot_restore.rb +1 -0
  219. data/lib/chef/knife/ionoscloud_template_list.rb +1 -0
  220. data/lib/chef/knife/ionoscloud_user_create.rb +1 -0
  221. data/lib/chef/knife/ionoscloud_user_delete.rb +1 -0
  222. data/lib/chef/knife/ionoscloud_user_list.rb +1 -0
  223. data/lib/chef/knife/ionoscloud_user_ssourl.rb +1 -0
  224. data/lib/chef/knife/ionoscloud_volume_attach.rb +1 -0
  225. data/lib/chef/knife/ionoscloud_volume_create.rb +2 -1
  226. data/lib/chef/knife/ionoscloud_volume_delete.rb +1 -0
  227. data/lib/chef/knife/ionoscloud_volume_detach.rb +1 -0
  228. data/lib/chef/knife/ionoscloud_volume_list.rb +1 -0
  229. data/lib/knife-ionoscloud/version.rb +1 -1
  230. metadata +31 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 475b719ef44823a6cb5c031100ed1b1eda199b297653f7342bb3076b73dd56b4
4
- data.tar.gz: 0c662d549b3a8f3ce5144e75f1a7e46eae51c12697f14fb2ebb3758d80a0a37e
3
+ metadata.gz: 466c2927e32f6d584559a80aee7a32f1a39834e02abd5fe0a10be5aad04f5a7f
4
+ data.tar.gz: 8d9ca6b4e1cded2da076149c2527d94b4e593db2de09f78681f510f6d855166c
5
5
  SHA512:
6
- metadata.gz: bace38ac3687134ca983fad4d3329b8d18c316c2ea6431a3472395b3b6ddbd9bd46e2421a620ac2ab0df85f0282559647833b9aa052b58a137468e73869790f3
7
- data.tar.gz: d730abe3bdf1950fe11b970d7dc7f964ff140080d12553a0d8447e88f0b19e504da3834324afdd411c5bfa210a69d080f55eb348a6eddf053edee626c2fa8c7f
6
+ metadata.gz: 57c94f8bd0a2098253ae4be624bb329f626989ca75f06447f123da416f4e40f37d5d2991e949616401af08a747e1c757b4bb52e52eec989d63edf6870bdd724f
7
+ data.tar.gz: 39602ed7873d6f61d162f500ba30f151c6a70e1ed9ec4a9c056dbb5fe41f9c048f653daaa3b7662defd1c38df53b01512e8c9cbd615ab723609357279e3abc62
@@ -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/docs/README.md CHANGED
@@ -67,6 +67,26 @@ $ export IONOSCLOUD_PASSWORD='password'
67
67
  $ rspec spec
68
68
  ```
69
69
 
70
+ ### Getting input from a file
71
+
72
+ 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
73
+ `--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.
74
+
75
+ ```json
76
+ {
77
+ "ionoscloud_username": "username",
78
+ "ionoscloud_password": "password",
79
+ "name": "test_datacenter_name",
80
+ "location": "de/txl"
81
+ }
82
+ ```
83
+
84
+ 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.
85
+
86
+ * 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.
87
+ * Only Ionoscloud specific options may be altered using this option.
88
+ * 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.
89
+
70
90
  ## Feature Reference
71
91
 
72
92
  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:
@@ -49,7 +49,7 @@ def generate_subcommand_doc(subcommand)
49
49
  value[:required] = subcommand.required_options.include? key
50
50
  value[:description][0] = value[:description][0].downcase
51
51
  value
52
- }.rotate(2)
52
+ }.rotate(3)
53
53
 
54
54
  subcommand_name = subcommand.class.to_s
55
55
  subcommand_name.slice!('Chef::Knife::Ionoscloud')
@@ -32,9 +32,12 @@ knife ionoscloud backupunit create (options)
32
32
  ionoscloud_password: --password PASSWORD, -p PASSWORD
33
33
  your Ionoscloud password (required)
34
34
 
35
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
36
+ path to the additional config file
37
+
35
38
  ```
36
39
  ## Example
37
40
 
38
41
  ```text
39
- knife ionoscloud backupunit create --name NAME --password PASSWORD --email EMAIL --username USERNAME --password PASSWORD
42
+ knife ionoscloud backupunit create --name NAME --password PASSWORD --email EMAIL --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
40
43
  ```
@@ -20,9 +20,12 @@ knife ionoscloud backupunit delete BACKUPUNIT_ID [BACKUPUNIT_ID]
20
20
  ionoscloud_password: --password PASSWORD, -p PASSWORD
21
21
  your Ionoscloud password (required)
22
22
 
23
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
24
+ path to the additional config file
25
+
23
26
  ```
24
27
  ## Example
25
28
 
26
29
  ```text
27
- knife ionoscloud backupunit delete BACKUPUNIT_ID [BACKUPUNIT_ID]--username USERNAME --password PASSWORD
30
+ knife ionoscloud backupunit delete BACKUPUNIT_ID [BACKUPUNIT_ID]--username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
28
31
  ```
@@ -20,9 +20,12 @@ knife ionoscloud backupunit list
20
20
  ionoscloud_password: --password PASSWORD, -p PASSWORD
21
21
  your Ionoscloud password (required)
22
22
 
23
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
24
+ path to the additional config file
25
+
23
26
  ```
24
27
  ## Example
25
28
 
26
29
  ```text
27
- knife ionoscloud backupunit list--username USERNAME --password PASSWORD
30
+ knife ionoscloud backupunit list--username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
28
31
  ```
@@ -24,9 +24,12 @@ knife ionoscloud backupunit ssourl (options)
24
24
  ionoscloud_password: --password PASSWORD, -p PASSWORD
25
25
  your Ionoscloud password (required)
26
26
 
27
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
28
+ path to the additional config file
29
+
27
30
  ```
28
31
  ## Example
29
32
 
30
33
  ```text
31
- knife ionoscloud backupunit ssourl --backupunit-id BACKUPUNIT_ID --username USERNAME --password PASSWORD
34
+ knife ionoscloud backupunit ssourl --backupunit-id BACKUPUNIT_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
32
35
  ```
@@ -70,6 +70,12 @@ knife ionoscloud composite server create (options)
70
70
  ssh_keys: --ssh-keys SSHKEY1,SSHKEY2,..., -K SSHKEY[,SSHKEY,...]
71
71
  a list of public SSH keys to include
72
72
 
73
+ backupunit_id: --backupunit BACKUPUNIT_ID, -B BACKUPUNIT_ID
74
+ 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.
75
+
76
+ user_data: --user-data USER_DATA, -u USER_DATA
77
+ 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.
78
+
73
79
  nic_name: --nic-name NAME
74
80
  name of the NIC
75
81
 
@@ -82,8 +88,8 @@ knife ionoscloud composite server create (options)
82
88
  lan: --lan ID, -L ID
83
89
  the LAN ID the NIC will reside on; if the LAN ID does not exist it will be created (required)
84
90
 
85
- nat: --nat
86
- set to enable NAT on the NIC
91
+ firewall_type: --firewall-type FIREWALL_TYPE
92
+ 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
93
 
88
94
  ionoscloud_username: --username USERNAME, -u USERNAME
89
95
  your Ionoscloud username (required)
@@ -91,9 +97,12 @@ knife ionoscloud composite server create (options)
91
97
  ionoscloud_password: --password PASSWORD, -p PASSWORD
92
98
  your Ionoscloud password (required)
93
99
 
100
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
101
+ path to the additional config file
102
+
94
103
  ```
95
104
  ## Example
96
105
 
97
106
  ```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
107
+ 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,... --backupunit BACKUPUNIT_ID --user-data USER_DATA --nic-name NAME --ips IP[,IP,...] --dhcp --lan ID --firewall-type FIREWALL_TYPE --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
99
108
  ```
@@ -20,9 +20,12 @@ knife ionoscloud contract list
20
20
  ionoscloud_password: --password PASSWORD, -p PASSWORD
21
21
  your Ionoscloud password (required)
22
22
 
23
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
24
+ path to the additional config file
25
+
23
26
  ```
24
27
  ## Example
25
28
 
26
29
  ```text
27
- knife ionoscloud contract list--username USERNAME --password PASSWORD
30
+ knife ionoscloud contract list--username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
28
31
  ```
@@ -0,0 +1,91 @@
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
+ datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
21
+ name of the virtual datacenter (required)
22
+
23
+ name: --name NAME, -n NAME
24
+ (required) Name of the server (required)
25
+
26
+ template: --template TEMPLATE_UUID
27
+ the UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource (required)
28
+
29
+ cpu_family: --cpu-family CPU_FAMILY, -f CPU_FAMILY
30
+ the family of processor cores (INTEL_XEON or AMD_OPTERON)
31
+
32
+ availability_zone: --availability-zone AVAILABILITY_ZONE, -a AVAILABILITY_ZONE
33
+ the availability zone of the server
34
+
35
+ volume_name: --volume-name NAME
36
+ name of the volume
37
+
38
+ bus: --bus BUS, -b BUS
39
+ the bus type of the volume (VIRTIO or IDE)
40
+
41
+ image: --image ID, -N ID
42
+ (required) The image or snapshot ID
43
+
44
+ licence_type: --licence-type LICENCE, -l LICENCE
45
+ the licence type of the volume (LINUX, WINDOWS, WINDOWS2016, UNKNOWN, OTHER)
46
+
47
+ image_password: --image-password PASSWORD, -P PASSWORD
48
+ the password set on the image for the "root" or "Administrator" user
49
+
50
+ ssh_keys: --ssh-keys SSHKEY1,SSHKEY2,..., -K SSHKEY[,SSHKEY,...]
51
+ a list of public SSH keys to include
52
+
53
+ backupunit_id: --backupunit BACKUPUNIT_ID, -B BACKUPUNIT_ID
54
+ 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.
55
+
56
+ user_data: --user-data USER_DATA, -u USER_DATA
57
+ 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.
58
+
59
+ set_boot: --set-boot
60
+ whether to set the volume as the boot volume
61
+
62
+ nic_name: --nic-name NAME
63
+ name of the NIC
64
+
65
+ ips: --ips IP[,IP,...], -i IP[,IP,...]
66
+ iPs assigned to the NIC
67
+
68
+ dhcp: --dhcp, -h
69
+ set to false if you wish to disable DHCP
70
+
71
+ lan: --lan ID, -L ID
72
+ the LAN ID the NIC will reside on; if the LAN ID does not exist it will be created
73
+
74
+ firewall_type: --firewall-type FIREWALL_TYPE, -t FIREWALL_TYPE
75
+ the type of firewall rules that will be allowed on the NIC. If it is not specified it will take the default value INGRESS
76
+
77
+ ionoscloud_username: --username USERNAME, -u USERNAME
78
+ your Ionoscloud username (required)
79
+
80
+ ionoscloud_password: --password PASSWORD, -p PASSWORD
81
+ your Ionoscloud password (required)
82
+
83
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
84
+ path to the additional config file
85
+
86
+ ```
87
+ ## Example
88
+
89
+ ```text
90
+ knife ionoscloud cube server create --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 --extra-config EXTRA_CONFIG_FILE_PATH
91
+ ```
@@ -37,9 +37,12 @@ knife ionoscloud datacenter create (options)
37
37
  ionoscloud_password: --password PASSWORD, -p PASSWORD
38
38
  your Ionoscloud password (required)
39
39
 
40
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
41
+ path to the additional config file
42
+
40
43
  ```
41
44
  ## Example
42
45
 
43
46
  ```text
44
- knife ionoscloud datacenter create --name NAME --description DESCRIPTION --location LOCATION --username USERNAME --password PASSWORD
47
+ knife ionoscloud datacenter create --name NAME --description DESCRIPTION --location LOCATION --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
45
48
  ```
@@ -20,9 +20,12 @@ knife ionoscloud datacenter delete DATACENTER_ID [DATACENTER_ID]
20
20
  ionoscloud_password: --password PASSWORD, -p PASSWORD
21
21
  your Ionoscloud password (required)
22
22
 
23
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
24
+ path to the additional config file
25
+
23
26
  ```
24
27
  ## Example
25
28
 
26
29
  ```text
27
- knife ionoscloud datacenter delete DATACENTER_ID [DATACENTER_ID]--username USERNAME --password PASSWORD
30
+ knife ionoscloud datacenter delete DATACENTER_ID [DATACENTER_ID]--username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
28
31
  ```
@@ -20,9 +20,12 @@ knife ionoscloud datacenter list
20
20
  ionoscloud_password: --password PASSWORD, -p PASSWORD
21
21
  your Ionoscloud password (required)
22
22
 
23
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
24
+ path to the additional config file
25
+
23
26
  ```
24
27
  ## Example
25
28
 
26
29
  ```text
27
- knife ionoscloud datacenter list--username USERNAME --password PASSWORD
30
+ knife ionoscloud datacenter list--username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
28
31
  ```
@@ -44,7 +44,7 @@ knife ionoscloud firewall create (options)
44
44
  port_range_start: --port-range-start PORT, -p PORT
45
45
  defines the start range of the allowed port(s)
46
46
 
47
- port_range_end: --port-range-end PORT, -t PORT
47
+ port_range_end: --port-range-end PORT
48
48
  defines the end range of the allowed port(s)
49
49
 
50
50
  icmp_type: --icmp-type INT
@@ -53,15 +53,21 @@ knife ionoscloud firewall create (options)
53
53
  icmp_code: --icmp-code INT
54
54
  defines the allowed code (from 0 to 254) if the protocol ICMP is chosen; null allows all codes
55
55
 
56
+ type: --type TYPE, --t TYPE
57
+ the type of firewall rule. If is not specified, it will take the default value INGRESS
58
+
56
59
  ionoscloud_username: --username USERNAME, -u USERNAME
57
60
  your Ionoscloud username (required)
58
61
 
59
62
  ionoscloud_password: --password PASSWORD, -p PASSWORD
60
63
  your Ionoscloud password (required)
61
64
 
65
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
66
+ path to the additional config file
67
+
62
68
  ```
63
69
  ## Example
64
70
 
65
71
  ```text
66
- knife ionoscloud firewall create --datacenter-id DATACENTER_ID --server-id SERVER_ID --nic-id NIC_ID --name NAME --protocol PROTOCOL --source-mac MAC --source-ip IP --target-ip IP --port-range-start PORT --port-range-end PORT --icmp-type INT --icmp-code INT --username USERNAME --password PASSWORD
72
+ knife ionoscloud firewall create --datacenter-id DATACENTER_ID --server-id SERVER_ID --nic-id NIC_ID --name NAME --protocol PROTOCOL --source-mac MAC --source-ip IP --target-ip IP --port-range-start PORT --port-range-end PORT --icmp-type INT --icmp-code INT --type TYPE --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
67
73
  ```
@@ -32,6 +32,9 @@ knife ionoscloud firewall delete FIREWALL_ID [FIREWALL_ID] (options)
32
32
  ionoscloud_password: --password PASSWORD, -p PASSWORD
33
33
  your Ionoscloud password (required)
34
34
 
35
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
36
+ path to the additional config file
37
+
35
38
  ```
36
39
  ## Example
37
40
 
@@ -32,9 +32,12 @@ knife ionoscloud firewall list (options)
32
32
  ionoscloud_password: --password PASSWORD, -p PASSWORD
33
33
  your Ionoscloud password (required)
34
34
 
35
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
36
+ path to the additional config file
37
+
35
38
  ```
36
39
  ## Example
37
40
 
38
41
  ```text
39
- knife ionoscloud firewall list --datacenter-id DATACENTER_ID --server-id SERVER_ID --nic-id NIC_ID --username USERNAME --password PASSWORD
42
+ knife ionoscloud firewall list --datacenter-id DATACENTER_ID --server-id SERVER_ID --nic-id NIC_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
40
43
  ```
@@ -0,0 +1,63 @@
1
+ # FlowlogCreate
2
+
3
+ This will add a Flow Log to the network interface, NAT Gateway or Network Load Balancer.
4
+
5
+ ```text
6
+ knife ionoscloud flowlog create (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * type
15
+ * ionoscloud\_username
16
+ * ionoscloud\_password
17
+
18
+ ```text
19
+ datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
20
+ iD of the data center (required)
21
+
22
+ type: --type FLOWLOG_TYPE, -t FLOWLOG_TYPE
23
+ the object to which the flow log will be attached (required)
24
+
25
+ server_id: --server-id SERVER_ID, -S SERVER_ID
26
+ iD of the server
27
+
28
+ nic_id: --nic-id NIC_ID, -N NIC_ID
29
+ iD of the NIC
30
+
31
+ natgateway_id: --natgateway NAT_GATEWAY_ID, -G NAT_GATEWAY_ID
32
+ iD of the NAT Gateway
33
+
34
+ network_loadbalancer_id: --network-loadbalancer NETWORK_LOADBALANCER, -L NETWORK_LOADBALANCER
35
+ iD of the Network Load Balancer
36
+
37
+ name: --name NAME, -n NAME
38
+ name of the Flow Log
39
+
40
+ action: --action ACTION, -a ACTION
41
+ specifies the traffic action pattern. Must be one of ["ALL", "ACCEPTED", "REJECTED"].
42
+
43
+ direction: --direction DIRECTION
44
+ specifies the traffic direction pattern. Must be one of ["INGRESS", "EGRESS", "BIDIRECTIONAL"].
45
+
46
+ bucket: --bucket BUCKET, -b BUCKET
47
+ s3 bucket name of an existing IONOS Cloud S3 bucket. Ex. bucketName/key
48
+
49
+ ionoscloud_username: --username USERNAME, -u USERNAME
50
+ your Ionoscloud username (required)
51
+
52
+ ionoscloud_password: --password PASSWORD, -p PASSWORD
53
+ your Ionoscloud password (required)
54
+
55
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
56
+ path to the additional config file
57
+
58
+ ```
59
+ ## Example
60
+
61
+ ```text
62
+ knife ionoscloud flowlog create --datacenter-id DATACENTER_ID --type FLOWLOG_TYPE --server-id SERVER_ID --nic-id NIC_ID --natgateway NAT_GATEWAY_ID --network-loadbalancer NETWORK_LOADBALANCER --name NAME --action ACTION --direction DIRECTION --bucket BUCKET --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
63
+ ```
@@ -0,0 +1,51 @@
1
+ # FlowlogDelete
2
+
3
+ Removes the specified Flow Logs.
4
+
5
+ ```text
6
+ knife ionoscloud flowlog delete FLOWLOG_ID [FLOWLOG_ID] (options)
7
+ ```
8
+
9
+ ## Available options:
10
+
11
+ ### Required options:
12
+
13
+ * datacenter\_id
14
+ * type
15
+ * ionoscloud\_username
16
+ * ionoscloud\_password
17
+
18
+ ```text
19
+ datacenter_id: --datacenter-id DATACENTER_ID, -D DATACENTER_ID
20
+ the ID of the data center (required)
21
+
22
+ type: --type FLOWLOG_TYPE, -t FLOWLOG_TYPE
23
+ the object to which the flow log will be attached (required)
24
+
25
+ server_id: --server-id SERVER_ID, -S SERVER_ID
26
+ the ID of the server
27
+
28
+ nic_id: --nic-id NIC_ID, -N NIC_ID
29
+ iD of the NIC
30
+
31
+ natgateway_id: --nat-gateway NAT_GATEWAY_ID, -G NAT_GATEWAY_ID
32
+ iD of the NAT Gateway
33
+
34
+ network_loadbalancer_id: --network-loadbalancer NETWORK_LOADBALANCER, -L NETWORK_LOADBALANCER
35
+ iD of the Network Load Balancer
36
+
37
+ ionoscloud_username: --username USERNAME, -u USERNAME
38
+ your Ionoscloud username (required)
39
+
40
+ ionoscloud_password: --password PASSWORD, -p PASSWORD
41
+ your Ionoscloud password (required)
42
+
43
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
44
+ path to the additional config file
45
+
46
+ ```
47
+ ## Example
48
+
49
+ ```text
50
+ knife ionoscloud flowlog delete FLOWLOG_ID
51
+ ```