knife-ionoscloud 5.1.0 → 5.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (174) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/publish.yml +4 -1
  3. data/docs/README.md +21 -1
  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 +4 -1
  10. data/docs/subcommands/contract_list.md +4 -1
  11. data/docs/subcommands/datacenter_create.md +4 -1
  12. data/docs/subcommands/datacenter_delete.md +4 -1
  13. data/docs/subcommands/datacenter_list.md +4 -1
  14. data/docs/subcommands/firewall_create.md +4 -1
  15. data/docs/subcommands/firewall_delete.md +3 -0
  16. data/docs/subcommands/firewall_list.md +4 -1
  17. data/docs/subcommands/group_create.md +4 -1
  18. data/docs/subcommands/group_delete.md +4 -1
  19. data/docs/subcommands/group_get.md +4 -1
  20. data/docs/subcommands/group_list.md +4 -1
  21. data/docs/subcommands/group_user_add.md +3 -0
  22. data/docs/subcommands/group_user_remove.md +3 -0
  23. data/docs/subcommands/image_list.md +4 -1
  24. data/docs/subcommands/ipblock_create.md +4 -1
  25. data/docs/subcommands/ipblock_delete.md +4 -1
  26. data/docs/subcommands/ipblock_list.md +4 -1
  27. data/docs/subcommands/ipfailover_add.md +4 -1
  28. data/docs/subcommands/ipfailover_remove.md +4 -1
  29. data/docs/subcommands/k8s_create.md +4 -1
  30. data/docs/subcommands/k8s_delete.md +4 -1
  31. data/docs/subcommands/k8s_list.md +4 -1
  32. data/docs/subcommands/kubeconfig_get.md +4 -1
  33. data/docs/subcommands/label_add.md +4 -1
  34. data/docs/subcommands/label_list.md +4 -1
  35. data/docs/subcommands/label_remove.md +3 -0
  36. data/docs/subcommands/lan_create.md +4 -1
  37. data/docs/subcommands/lan_delete.md +3 -0
  38. data/docs/subcommands/lan_list.md +4 -1
  39. data/docs/subcommands/loadbalancer_create.md +4 -1
  40. data/docs/subcommands/loadbalancer_delete.md +3 -0
  41. data/docs/subcommands/loadbalancer_get.md +4 -1
  42. data/docs/subcommands/loadbalancer_list.md +4 -1
  43. data/docs/subcommands/loadbalancer_nic_add.md +3 -0
  44. data/docs/subcommands/loadbalancer_nic_remove.md +3 -0
  45. data/docs/subcommands/location_list.md +4 -1
  46. data/docs/subcommands/nic_create.md +4 -1
  47. data/docs/subcommands/nic_delete.md +3 -0
  48. data/docs/subcommands/nic_list.md +4 -1
  49. data/docs/subcommands/node_delete.md +3 -0
  50. data/docs/subcommands/node_list.md +4 -1
  51. data/docs/subcommands/node_replace.md +3 -0
  52. data/docs/subcommands/nodepool_create.md +7 -1
  53. data/docs/subcommands/nodepool_delete.md +3 -0
  54. data/docs/subcommands/nodepool_list.md +4 -1
  55. data/docs/subcommands/pcc_create.md +4 -1
  56. data/docs/subcommands/pcc_delete.md +4 -1
  57. data/docs/subcommands/pcc_list.md +4 -1
  58. data/docs/subcommands/request_list.md +4 -1
  59. data/docs/subcommands/request_status.md +4 -1
  60. data/docs/subcommands/request_wait.md +4 -1
  61. data/docs/subcommands/resource_list.md +4 -1
  62. data/docs/subcommands/s3key_create.md +4 -1
  63. data/docs/subcommands/s3key_delete.md +3 -0
  64. data/docs/subcommands/s3key_list.md +4 -1
  65. data/docs/subcommands/server_create.md +4 -1
  66. data/docs/subcommands/server_delete.md +3 -0
  67. data/docs/subcommands/server_list.md +4 -1
  68. data/docs/subcommands/server_reboot.md +3 -0
  69. data/docs/subcommands/server_start.md +3 -0
  70. data/docs/subcommands/server_stop.md +3 -0
  71. data/docs/subcommands/share_create.md +4 -1
  72. data/docs/subcommands/share_delete.md +3 -0
  73. data/docs/subcommands/share_list.md +4 -1
  74. data/docs/subcommands/snapshot_create.md +4 -1
  75. data/docs/subcommands/snapshot_delete.md +4 -1
  76. data/docs/subcommands/snapshot_list.md +4 -1
  77. data/docs/subcommands/snapshot_restore.md +4 -1
  78. data/docs/subcommands/user_create.md +4 -1
  79. data/docs/subcommands/user_delete.md +4 -1
  80. data/docs/subcommands/user_list.md +4 -1
  81. data/docs/subcommands/user_ssourl.md +4 -1
  82. data/docs/subcommands/volume_attach.md +3 -0
  83. data/docs/subcommands/volume_create.md +10 -1
  84. data/docs/subcommands/volume_delete.md +3 -0
  85. data/docs/subcommands/volume_detach.md +3 -0
  86. data/docs/subcommands/volume_list.md +4 -1
  87. data/lib/chef/knife/ionoscloud_backupunit_create.rb +1 -0
  88. data/lib/chef/knife/ionoscloud_backupunit_delete.rb +1 -0
  89. data/lib/chef/knife/ionoscloud_backupunit_list.rb +1 -0
  90. data/lib/chef/knife/ionoscloud_backupunit_ssourl.rb +1 -0
  91. data/lib/chef/knife/ionoscloud_base.rb +23 -0
  92. data/lib/chef/knife/ionoscloud_composite_server_create.rb +3 -18
  93. data/lib/chef/knife/ionoscloud_contract_list.rb +1 -0
  94. data/lib/chef/knife/ionoscloud_datacenter_create.rb +1 -0
  95. data/lib/chef/knife/ionoscloud_datacenter_delete.rb +1 -0
  96. data/lib/chef/knife/ionoscloud_datacenter_list.rb +1 -0
  97. data/lib/chef/knife/ionoscloud_firewall_create.rb +1 -0
  98. data/lib/chef/knife/ionoscloud_firewall_delete.rb +1 -0
  99. data/lib/chef/knife/ionoscloud_firewall_list.rb +1 -0
  100. data/lib/chef/knife/ionoscloud_group_create.rb +1 -0
  101. data/lib/chef/knife/ionoscloud_group_delete.rb +1 -0
  102. data/lib/chef/knife/ionoscloud_group_get.rb +1 -0
  103. data/lib/chef/knife/ionoscloud_group_list.rb +1 -0
  104. data/lib/chef/knife/ionoscloud_group_user_add.rb +1 -0
  105. data/lib/chef/knife/ionoscloud_group_user_remove.rb +1 -0
  106. data/lib/chef/knife/ionoscloud_image_list.rb +1 -0
  107. data/lib/chef/knife/ionoscloud_ipblock_create.rb +1 -0
  108. data/lib/chef/knife/ionoscloud_ipblock_delete.rb +1 -0
  109. data/lib/chef/knife/ionoscloud_ipblock_list.rb +1 -0
  110. data/lib/chef/knife/ionoscloud_ipfailover_add.rb +1 -0
  111. data/lib/chef/knife/ionoscloud_ipfailover_remove.rb +1 -0
  112. data/lib/chef/knife/ionoscloud_k8s_create.rb +1 -0
  113. data/lib/chef/knife/ionoscloud_k8s_delete.rb +6 -2
  114. data/lib/chef/knife/ionoscloud_k8s_list.rb +1 -0
  115. data/lib/chef/knife/ionoscloud_kubeconfig_get.rb +1 -0
  116. data/lib/chef/knife/ionoscloud_label_add.rb +1 -0
  117. data/lib/chef/knife/ionoscloud_label_list.rb +1 -0
  118. data/lib/chef/knife/ionoscloud_label_remove.rb +1 -0
  119. data/lib/chef/knife/ionoscloud_lan_create.rb +1 -0
  120. data/lib/chef/knife/ionoscloud_lan_delete.rb +1 -0
  121. data/lib/chef/knife/ionoscloud_lan_list.rb +1 -0
  122. data/lib/chef/knife/ionoscloud_loadbalancer_create.rb +3 -1
  123. data/lib/chef/knife/ionoscloud_loadbalancer_delete.rb +1 -0
  124. data/lib/chef/knife/ionoscloud_loadbalancer_get.rb +1 -0
  125. data/lib/chef/knife/ionoscloud_loadbalancer_list.rb +1 -0
  126. data/lib/chef/knife/ionoscloud_loadbalancer_nic_add.rb +1 -0
  127. data/lib/chef/knife/ionoscloud_loadbalancer_nic_remove.rb +1 -0
  128. data/lib/chef/knife/ionoscloud_location_list.rb +1 -0
  129. data/lib/chef/knife/ionoscloud_nic_create.rb +2 -3
  130. data/lib/chef/knife/ionoscloud_nic_delete.rb +1 -0
  131. data/lib/chef/knife/ionoscloud_nic_list.rb +1 -0
  132. data/lib/chef/knife/ionoscloud_node_delete.rb +1 -0
  133. data/lib/chef/knife/ionoscloud_node_list.rb +1 -0
  134. data/lib/chef/knife/ionoscloud_node_replace.rb +1 -0
  135. data/lib/chef/knife/ionoscloud_nodepool_create.rb +11 -0
  136. data/lib/chef/knife/ionoscloud_nodepool_delete.rb +1 -0
  137. data/lib/chef/knife/ionoscloud_nodepool_list.rb +1 -0
  138. data/lib/chef/knife/ionoscloud_pcc_create.rb +1 -0
  139. data/lib/chef/knife/ionoscloud_pcc_delete.rb +1 -0
  140. data/lib/chef/knife/ionoscloud_pcc_list.rb +1 -0
  141. data/lib/chef/knife/ionoscloud_request_list.rb +1 -0
  142. data/lib/chef/knife/ionoscloud_request_status.rb +1 -0
  143. data/lib/chef/knife/ionoscloud_request_wait.rb +1 -0
  144. data/lib/chef/knife/ionoscloud_resource_list.rb +1 -0
  145. data/lib/chef/knife/ionoscloud_s3key_create.rb +1 -0
  146. data/lib/chef/knife/ionoscloud_s3key_delete.rb +1 -0
  147. data/lib/chef/knife/ionoscloud_s3key_list.rb +1 -0
  148. data/lib/chef/knife/ionoscloud_server_create.rb +1 -0
  149. data/lib/chef/knife/ionoscloud_server_delete.rb +3 -2
  150. data/lib/chef/knife/ionoscloud_server_list.rb +1 -0
  151. data/lib/chef/knife/ionoscloud_server_reboot.rb +1 -0
  152. data/lib/chef/knife/ionoscloud_server_start.rb +1 -0
  153. data/lib/chef/knife/ionoscloud_server_stop.rb +1 -0
  154. data/lib/chef/knife/ionoscloud_share_create.rb +1 -0
  155. data/lib/chef/knife/ionoscloud_share_delete.rb +1 -0
  156. data/lib/chef/knife/ionoscloud_share_list.rb +1 -0
  157. data/lib/chef/knife/ionoscloud_snapshot_create.rb +1 -0
  158. data/lib/chef/knife/ionoscloud_snapshot_delete.rb +1 -0
  159. data/lib/chef/knife/ionoscloud_snapshot_list.rb +1 -0
  160. data/lib/chef/knife/ionoscloud_snapshot_restore.rb +1 -0
  161. data/lib/chef/knife/ionoscloud_user_create.rb +1 -0
  162. data/lib/chef/knife/ionoscloud_user_delete.rb +1 -0
  163. data/lib/chef/knife/ionoscloud_user_list.rb +1 -0
  164. data/lib/chef/knife/ionoscloud_user_ssourl.rb +1 -0
  165. data/lib/chef/knife/ionoscloud_volume_attach.rb +1 -0
  166. data/lib/chef/knife/ionoscloud_volume_create.rb +19 -15
  167. data/lib/chef/knife/ionoscloud_volume_delete.rb +1 -0
  168. data/lib/chef/knife/ionoscloud_volume_detach.rb +1 -0
  169. data/lib/chef/knife/ionoscloud_volume_list.rb +1 -0
  170. data/lib/knife-ionoscloud/version.rb +1 -1
  171. data/spec/chef/knife/ionoscloud_k8s_delete_spec.rb +5 -2
  172. data/spec/chef/knife/ionoscloud_nodepool_create_spec.rb +1 -1
  173. data/spec/chef/knife/ionoscloud_volume_create_spec.rb +0 -52
  174. metadata +2 -2
@@ -24,6 +24,9 @@ knife ionoscloud s3key delete S3KEY_ID [S3KEY_ID] (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
 
@@ -24,9 +24,12 @@ knife ionoscloud s3key list (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 s3key list --user USER_ID --username USERNAME --password PASSWORD
34
+ knife ionoscloud s3key list --user USER_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
32
35
  ```
@@ -49,9 +49,12 @@ knife ionoscloud server create (options)
49
49
  ionoscloud_password: --password PASSWORD, -p PASSWORD
50
50
  your Ionoscloud password (required)
51
51
 
52
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
53
+ path to the additional config file
54
+
52
55
  ```
53
56
  ## Example
54
57
 
55
58
  ```text
56
- knife ionoscloud server create --datacenter-id DATACENTER_ID --name NAME --cores CORES --cpu-family CPU_FAMILY --ram RAM --availability-zone AVAILABILITY_ZONE --boot-volume VOLUME_ID --boot-cdrom CDROM_ID --username USERNAME --password PASSWORD
59
+ knife ionoscloud server create --datacenter-id DATACENTER_ID --name NAME --cores CORES --cpu-family CPU_FAMILY --ram RAM --availability-zone AVAILABILITY_ZONE --boot-volume VOLUME_ID --boot-cdrom CDROM_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
57
60
  ```
@@ -26,6 +26,9 @@ knife ionoscloud server delete SERVER_ID [SERVER_ID] (options)
26
26
  ionoscloud_password: --password PASSWORD, -p PASSWORD
27
27
  your Ionoscloud password (required)
28
28
 
29
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
30
+ path to the additional config file
31
+
29
32
  ```
30
33
  ## Example
31
34
 
@@ -24,9 +24,12 @@ knife ionoscloud server list (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 server list --datacenter-id DATACENTER_ID --username USERNAME --password PASSWORD
34
+ knife ionoscloud server list --datacenter-id DATACENTER_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
32
35
  ```
@@ -24,6 +24,9 @@ knife ionoscloud server reboot SERVER_ID [SERVER_ID] (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
 
@@ -24,6 +24,9 @@ knife ionoscloud server start SERVER_ID [SERVER_ID] (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
 
@@ -24,6 +24,9 @@ knife ionoscloud server stop SERVER_ID [SERVER_ID] (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
 
@@ -34,9 +34,12 @@ knife ionoscloud share create (options)
34
34
  ionoscloud_password: --password PASSWORD, -p PASSWORD
35
35
  your Ionoscloud password (required)
36
36
 
37
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
38
+ path to the additional config file
39
+
37
40
  ```
38
41
  ## Example
39
42
 
40
43
  ```text
41
- knife ionoscloud share create --group-id GROUP_ID --resource-id RESOURCE_ID --edit --share --username USERNAME --password PASSWORD
44
+ knife ionoscloud share create --group-id GROUP_ID --resource-id RESOURCE_ID --edit --share --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
42
45
  ```
@@ -24,6 +24,9 @@ knife ionoscloud server delete SHARE_ID [SHARE_ID] (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
 
@@ -24,9 +24,12 @@ knife ionoscloud share list (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 share list --group-id GROUP_ID --username USERNAME --password PASSWORD
34
+ knife ionoscloud share list --group-id GROUP_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
32
35
  ```
@@ -40,9 +40,12 @@ knife ionoscloud snapshot create (options)
40
40
  ionoscloud_password: --password PASSWORD, -p PASSWORD
41
41
  your Ionoscloud password (required)
42
42
 
43
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
44
+ path to the additional config file
45
+
43
46
  ```
44
47
  ## Example
45
48
 
46
49
  ```text
47
- knife ionoscloud snapshot create --datacenter DATACENTER_ID --volume VOLUME_ID --name SNAPSHOT_NAME --description SNAPSHOT_DESCRIPTION --sec-auth --licence LICENCE_TYPE --username USERNAME --password PASSWORD
50
+ knife ionoscloud snapshot create --datacenter DATACENTER_ID --volume VOLUME_ID --name SNAPSHOT_NAME --description SNAPSHOT_DESCRIPTION --sec-auth --licence LICENCE_TYPE --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
48
51
  ```
@@ -20,9 +20,12 @@ knife ionoscloud snapshot delete SNAPSHOT_ID [SNAPSHOT_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 snapshot delete SNAPSHOT_ID [SNAPSHOT_ID]--username USERNAME --password PASSWORD
30
+ knife ionoscloud snapshot delete SNAPSHOT_ID [SNAPSHOT_ID]--username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
28
31
  ```
@@ -20,9 +20,12 @@ knife ionoscloud snapshot 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 snapshot list--username USERNAME --password PASSWORD
30
+ knife ionoscloud snapshot list--username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
28
31
  ```
@@ -32,9 +32,12 @@ knife ionoscloud snapshot restore (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 snapshot restore --datacenter DATACENTER_ID --volume VOLUME_ID --snapshot SNAPSHOT_ID --username USERNAME --password PASSWORD
42
+ knife ionoscloud snapshot restore --datacenter DATACENTER_ID --volume VOLUME_ID --snapshot SNAPSHOT_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
40
43
  ```
@@ -42,9 +42,12 @@ knife ionoscloud user create (options)
42
42
  ionoscloud_password: --password PASSWORD, -p PASSWORD
43
43
  your Ionoscloud password (required)
44
44
 
45
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
46
+ path to the additional config file
47
+
45
48
  ```
46
49
  ## Example
47
50
 
48
51
  ```text
49
- knife ionoscloud user create --firstname FIRSTNAME --lastname LASTNAME --email EMAIL --password PASSWORD --admin ADMIN --sec-auth --username USERNAME --password PASSWORD
52
+ knife ionoscloud user create --firstname FIRSTNAME --lastname LASTNAME --email EMAIL --password PASSWORD --admin ADMIN --sec-auth --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
50
53
  ```
@@ -20,9 +20,12 @@ knife ionoscloud user delete USER_ID [USER_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 user delete USER_ID [USER_ID]--username USERNAME --password PASSWORD
30
+ knife ionoscloud user delete USER_ID [USER_ID]--username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
28
31
  ```
@@ -23,9 +23,12 @@ knife ionoscloud user list (options)
23
23
  ionoscloud_password: --password PASSWORD, -p PASSWORD
24
24
  your Ionoscloud password (required)
25
25
 
26
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
27
+ path to the additional config file
28
+
26
29
  ```
27
30
  ## Example
28
31
 
29
32
  ```text
30
- knife ionoscloud user list --group-id GROUP_ID --username USERNAME --password PASSWORD
33
+ knife ionoscloud user list --group-id GROUP_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
31
34
  ```
@@ -24,9 +24,12 @@ knife ionoscloud user 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 user ssourl --user-id USER_ID --username USERNAME --password PASSWORD
34
+ knife ionoscloud user ssourl --user-id USER_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
32
35
  ```
@@ -28,6 +28,9 @@ knife ionoscloud volume attach VOLUME_ID [VOLUME_ID] (options)
28
28
  ionoscloud_password: --password PASSWORD, -p PASSWORD
29
29
  your Ionoscloud password (required)
30
30
 
31
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
32
+ path to the additional config file
33
+
31
34
  ```
32
35
  ## Example
33
36
 
@@ -51,15 +51,24 @@ knife ionoscloud volume create (options)
51
51
  availability_zone: --availability-zone AVAILABILITY_ZONE, -Z AVAILABILITY_ZONE
52
52
  the volume availability zone of the server
53
53
 
54
+ backupunit_id: --backupunit BACKUPUNIT_ID, -B BACKUPUNIT_ID
55
+ the uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
56
+
57
+ user_data: --user-data USER_DATA, -u USER_DATA
58
+ the cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
59
+
54
60
  ionoscloud_username: --username USERNAME, -u USERNAME
55
61
  your Ionoscloud username (required)
56
62
 
57
63
  ionoscloud_password: --password PASSWORD, -p PASSWORD
58
64
  your Ionoscloud password (required)
59
65
 
66
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
67
+ path to the additional config file
68
+
60
69
  ```
61
70
  ## Example
62
71
 
63
72
  ```text
64
- knife ionoscloud volume create --datacenter-id DATACENTER_ID --name NAME --size SIZE --bus BUS --image ID --image-alias IMAGE_ALIAS --image-password PASSWORD --type TYPE --licence-type LICENCE --ssh-keys SSHKEY1,SSHKEY2,... --availability-zone AVAILABILITY_ZONE --username USERNAME --password PASSWORD
73
+ knife ionoscloud volume create --datacenter-id DATACENTER_ID --name NAME --size SIZE --bus BUS --image ID --image-alias IMAGE_ALIAS --image-password PASSWORD --type TYPE --licence-type LICENCE --ssh-keys SSHKEY1,SSHKEY2,... --availability-zone AVAILABILITY_ZONE --backupunit BACKUPUNIT_ID --user-data USER_DATA --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
65
74
  ```
@@ -24,6 +24,9 @@ knife ionoscloud volume delete SERVER_ID [SERVER_ID] (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,6 +30,9 @@ knife ionoscloud volume detach VOLUME_ID [VOLUME_ID] (options)
30
30
  ionoscloud_password: --password PASSWORD, -p PASSWORD
31
31
  your Ionoscloud password (required)
32
32
 
33
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
34
+ path to the additional config file
35
+
33
36
  ```
34
37
  ## Example
35
38
 
@@ -27,9 +27,12 @@ knife ionoscloud volume list (options)
27
27
  ionoscloud_password: --password PASSWORD, -p PASSWORD
28
28
  your Ionoscloud password (required)
29
29
 
30
+ extra_config_file: --extra-config EXTRA_CONFIG_FILE_PATH, -e EXTRA_CONFIG_FILE_PATH
31
+ path to the additional config file
32
+
30
33
  ```
31
34
  ## Example
32
35
 
33
36
  ```text
34
- knife ionoscloud volume list --datacenter-id DATACENTER_ID --server-id SERVER_ID --username USERNAME --password PASSWORD
37
+ knife ionoscloud volume list --datacenter-id DATACENTER_ID --server-id SERVER_ID --username USERNAME --password PASSWORD --extra-config EXTRA_CONFIG_FILE_PATH
35
38
  ```
@@ -33,6 +33,7 @@ class Chef
33
33
 
34
34
  def run
35
35
  $stdout.sync = true
36
+ handle_extra_config
36
37
  validate_required_params(@required_options, config)
37
38
 
38
39
  print "#{ui.color('Creating Backup unit...', :magenta)}"
@@ -21,6 +21,7 @@ class Chef
21
21
 
22
22
  def run
23
23
  $stdout.sync = true
24
+ handle_extra_config
24
25
  validate_required_params(@required_options, config)
25
26
 
26
27
  backupunit_api = Ionoscloud::BackupUnitApi.new(api_client)
@@ -18,6 +18,7 @@ class Chef
18
18
 
19
19
  def run
20
20
  $stdout.sync = true
21
+ handle_extra_config
21
22
  validate_required_params(@required_options, config)
22
23
 
23
24
  backupunit_list = [
@@ -25,6 +25,7 @@ class Chef
25
25
 
26
26
  def run
27
27
  $stdout.sync = true
28
+ handle_extra_config
28
29
  validate_required_params(@required_options, config)
29
30
 
30
31
  begin
@@ -18,6 +18,11 @@ class Chef
18
18
  short: '-p PASSWORD',
19
19
  long: '--password PASSWORD',
20
20
  description: 'Your Ionoscloud password'
21
+
22
+ option :extra_config_file,
23
+ short: '-e EXTRA_CONFIG_FILE_PATH',
24
+ long: '--extra-config EXTRA_CONFIG_FILE_PATH',
25
+ description: 'Path to the additional config file'
21
26
  end
22
27
  end
23
28
 
@@ -37,6 +42,24 @@ class Chef
37
42
  end
38
43
  end
39
44
 
45
+ def handle_extra_config
46
+ return if config[:extra_config_file].nil?
47
+
48
+ available_options = options.map { |key, _| key }
49
+ ionoscloud_options = available_options[available_options.find_index(:ionoscloud_username)..]
50
+ ignored_options = []
51
+
52
+ JSON[File.read(config[:extra_config_file])].transform_keys(&:to_sym).each do |key, value|
53
+ if config.key?(key) || !ionoscloud_options.include?(key)
54
+ ignored_options << key
55
+ else
56
+ config[key] = value
57
+ end
58
+ end
59
+
60
+ ui.warn "The following options #{ignored_options} from the specified JSON file will be ignored." unless ignored_options.empty?
61
+ end
62
+
40
63
  def api_client
41
64
  api_config = Ionoscloud::Configuration.new()
42
65
 
@@ -125,25 +125,11 @@ class Chef
125
125
 
126
126
  def run
127
127
  $stdout.sync = true
128
+ handle_extra_config
128
129
  validate_required_params(@required_options, config)
129
130
 
130
- if !config[:image] && !config[:image_alias]
131
- ui.error('Either \'--image\' or \'--image-alias\' parameter must be provided')
132
- exit(1)
133
- end
134
-
135
- if !config[:ssh_keys] && !config[:image_password]
136
- ui.error('Either \'--image-password\' or \'--ssh-keys\' parameter must be provided')
137
- exit(1)
138
- end
139
-
140
- if config[:ssh_keys]
141
- config[:ssh_keys] = config[:ssh_keys].split(',')
142
- end
143
-
144
- if config[:ips]
145
- config[:ips] = config[:ips].split(',')
146
- end
131
+ config[:ssh_keys] = config[:ssh_keys].split(',') if config[:ssh_keys] && config[:ssh_keys].instance_of?(String)
132
+ config[:ips] = config[:ips].split(',') if config[:ips] && config[:ips].instance_of?(String)
147
133
 
148
134
  print ui.color('Creating composite server...', :magenta).to_s
149
135
 
@@ -172,7 +158,6 @@ class Chef
172
158
  }.compact)
173
159
  )
174
160
 
175
-
176
161
  server = Ionoscloud::Server.new(
177
162
  properties: Ionoscloud::ServerProperties.new({
178
163
  name: config[:name],