doctl 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +32 -0
  3. data/Gemfile.lock +240 -0
  4. data/bin/doctl +39 -0
  5. data/doctl.gemspec +34 -0
  6. data/lib/dldinternet/doctl/account/command.rb +39 -0
  7. data/lib/dldinternet/doctl/account/mixins/no_commands.rb +12 -0
  8. data/lib/dldinternet/doctl/api/account.rb +2 -0
  9. data/lib/dldinternet/doctl/api/account/get.rb +18 -0
  10. data/lib/dldinternet/doctl/api/account/ratelimit.rb +22 -0
  11. data/lib/dldinternet/doctl/api/auth.rb +1 -0
  12. data/lib/dldinternet/doctl/api/auth/get.rb +16 -0
  13. data/lib/dldinternet/doctl/api/auth/mixins/get/getnameservers.rb +17 -0
  14. data/lib/dldinternet/doctl/api/base.rb +120 -0
  15. data/lib/dldinternet/doctl/api/compute.rb +1 -0
  16. data/lib/dldinternet/doctl/api/compute/domain.rb +6 -0
  17. data/lib/dldinternet/doctl/api/compute/domain/create.rb +29 -0
  18. data/lib/dldinternet/doctl/api/compute/domain/delete.rb +28 -0
  19. data/lib/dldinternet/doctl/api/compute/domain/get.rb +20 -0
  20. data/lib/dldinternet/doctl/api/compute/domain/list.rb +24 -0
  21. data/lib/dldinternet/doctl/api/compute/domain/records.rb +4 -0
  22. data/lib/dldinternet/doctl/api/compute/domain/records/create.rb +30 -0
  23. data/lib/dldinternet/doctl/api/compute/domain/records/delete.rb +30 -0
  24. data/lib/dldinternet/doctl/api/compute/domain/records/list.rb +33 -0
  25. data/lib/dldinternet/doctl/api/compute/domain/records/update.rb +30 -0
  26. data/lib/dldinternet/doctl/auth/command.rb +19 -0
  27. data/lib/dldinternet/doctl/auth/init/command.rb +18 -0
  28. data/lib/dldinternet/doctl/auth/init/mixins/no_commands.rb +16 -0
  29. data/lib/dldinternet/doctl/auth/mixins/no_commands.rb +12 -0
  30. data/lib/dldinternet/doctl/compute/action/command.rb +30 -0
  31. data/lib/dldinternet/doctl/compute/action/get/command.rb +20 -0
  32. data/lib/dldinternet/doctl/compute/action/get/mixins/no_commands.rb +18 -0
  33. data/lib/dldinternet/doctl/compute/action/list/command.rb +20 -0
  34. data/lib/dldinternet/doctl/compute/action/list/mixins/no_commands.rb +18 -0
  35. data/lib/dldinternet/doctl/compute/action/mixins/no_commands.rb +16 -0
  36. data/lib/dldinternet/doctl/compute/action/wait/command.rb +20 -0
  37. data/lib/dldinternet/doctl/compute/action/wait/mixins/no_commands.rb +18 -0
  38. data/lib/dldinternet/doctl/compute/command.rb +81 -0
  39. data/lib/dldinternet/doctl/compute/domain/command.rb +105 -0
  40. data/lib/dldinternet/doctl/compute/domain/mixins/no_commands.rb +16 -0
  41. data/lib/dldinternet/doctl/compute/domain/records/command.rb +89 -0
  42. data/lib/dldinternet/doctl/compute/domain/records/mixins/no_commands.rb +62 -0
  43. data/lib/dldinternet/doctl/compute/droplet-action/change-kernel/command.rb +20 -0
  44. data/lib/dldinternet/doctl/compute/droplet-action/change-kernel/mixins/no_commands.rb +18 -0
  45. data/lib/dldinternet/doctl/compute/droplet-action/command.rb +86 -0
  46. data/lib/dldinternet/doctl/compute/droplet-action/disable-backups/command.rb +20 -0
  47. data/lib/dldinternet/doctl/compute/droplet-action/disable-backups/mixins/no_commands.rb +18 -0
  48. data/lib/dldinternet/doctl/compute/droplet-action/enable-ipv6/command.rb +20 -0
  49. data/lib/dldinternet/doctl/compute/droplet-action/enable-ipv6/mixins/no_commands.rb +18 -0
  50. data/lib/dldinternet/doctl/compute/droplet-action/enable-private-networking/command.rb +20 -0
  51. data/lib/dldinternet/doctl/compute/droplet-action/enable-private-networking/mixins/no_commands.rb +18 -0
  52. data/lib/dldinternet/doctl/compute/droplet-action/get/command.rb +20 -0
  53. data/lib/dldinternet/doctl/compute/droplet-action/get/mixins/no_commands.rb +18 -0
  54. data/lib/dldinternet/doctl/compute/droplet-action/mixins/no_commands.rb +16 -0
  55. data/lib/dldinternet/doctl/compute/droplet-action/password-reset/command.rb +20 -0
  56. data/lib/dldinternet/doctl/compute/droplet-action/password-reset/mixins/no_commands.rb +18 -0
  57. data/lib/dldinternet/doctl/compute/droplet-action/power-cycle/command.rb +20 -0
  58. data/lib/dldinternet/doctl/compute/droplet-action/power-cycle/mixins/no_commands.rb +18 -0
  59. data/lib/dldinternet/doctl/compute/droplet-action/power-off/command.rb +20 -0
  60. data/lib/dldinternet/doctl/compute/droplet-action/power-off/mixins/no_commands.rb +18 -0
  61. data/lib/dldinternet/doctl/compute/droplet-action/power-on/command.rb +20 -0
  62. data/lib/dldinternet/doctl/compute/droplet-action/power-on/mixins/no_commands.rb +18 -0
  63. data/lib/dldinternet/doctl/compute/droplet-action/reboot/command.rb +20 -0
  64. data/lib/dldinternet/doctl/compute/droplet-action/reboot/mixins/no_commands.rb +18 -0
  65. data/lib/dldinternet/doctl/compute/droplet-action/rebuild/command.rb +20 -0
  66. data/lib/dldinternet/doctl/compute/droplet-action/rebuild/mixins/no_commands.rb +18 -0
  67. data/lib/dldinternet/doctl/compute/droplet-action/rename/command.rb +20 -0
  68. data/lib/dldinternet/doctl/compute/droplet-action/rename/mixins/no_commands.rb +18 -0
  69. data/lib/dldinternet/doctl/compute/droplet-action/resize/command.rb +20 -0
  70. data/lib/dldinternet/doctl/compute/droplet-action/resize/mixins/no_commands.rb +18 -0
  71. data/lib/dldinternet/doctl/compute/droplet-action/restore/command.rb +20 -0
  72. data/lib/dldinternet/doctl/compute/droplet-action/restore/mixins/no_commands.rb +18 -0
  73. data/lib/dldinternet/doctl/compute/droplet-action/shutdown/command.rb +20 -0
  74. data/lib/dldinternet/doctl/compute/droplet-action/shutdown/mixins/no_commands.rb +18 -0
  75. data/lib/dldinternet/doctl/compute/droplet-action/snapshot/command.rb +20 -0
  76. data/lib/dldinternet/doctl/compute/droplet-action/snapshot/mixins/no_commands.rb +18 -0
  77. data/lib/dldinternet/doctl/compute/droplet-action/upgrade/command.rb +20 -0
  78. data/lib/dldinternet/doctl/compute/droplet-action/upgrade/mixins/no_commands.rb +18 -0
  79. data/lib/dldinternet/doctl/compute/droplet/actions/command.rb +20 -0
  80. data/lib/dldinternet/doctl/compute/droplet/actions/mixins/no_commands.rb +18 -0
  81. data/lib/dldinternet/doctl/compute/droplet/backups/command.rb +20 -0
  82. data/lib/dldinternet/doctl/compute/droplet/backups/mixins/no_commands.rb +18 -0
  83. data/lib/dldinternet/doctl/compute/droplet/command.rb +62 -0
  84. data/lib/dldinternet/doctl/compute/droplet/create/command.rb +20 -0
  85. data/lib/dldinternet/doctl/compute/droplet/create/mixins/no_commands.rb +18 -0
  86. data/lib/dldinternet/doctl/compute/droplet/delete/command.rb +20 -0
  87. data/lib/dldinternet/doctl/compute/droplet/delete/mixins/no_commands.rb +18 -0
  88. data/lib/dldinternet/doctl/compute/droplet/get/command.rb +20 -0
  89. data/lib/dldinternet/doctl/compute/droplet/get/mixins/no_commands.rb +18 -0
  90. data/lib/dldinternet/doctl/compute/droplet/kernels/command.rb +20 -0
  91. data/lib/dldinternet/doctl/compute/droplet/kernels/mixins/no_commands.rb +18 -0
  92. data/lib/dldinternet/doctl/compute/droplet/list/command.rb +20 -0
  93. data/lib/dldinternet/doctl/compute/droplet/list/mixins/no_commands.rb +18 -0
  94. data/lib/dldinternet/doctl/compute/droplet/mixins/no_commands.rb +16 -0
  95. data/lib/dldinternet/doctl/compute/droplet/neighbors/command.rb +20 -0
  96. data/lib/dldinternet/doctl/compute/droplet/neighbors/mixins/no_commands.rb +18 -0
  97. data/lib/dldinternet/doctl/compute/droplet/snapshots/command.rb +20 -0
  98. data/lib/dldinternet/doctl/compute/droplet/snapshots/mixins/no_commands.rb +18 -0
  99. data/lib/dldinternet/doctl/compute/droplet/tag/command.rb +20 -0
  100. data/lib/dldinternet/doctl/compute/droplet/tag/mixins/no_commands.rb +18 -0
  101. data/lib/dldinternet/doctl/compute/droplet/untag/command.rb +20 -0
  102. data/lib/dldinternet/doctl/compute/droplet/untag/mixins/no_commands.rb +18 -0
  103. data/lib/dldinternet/doctl/compute/floating-ip-action/assign/command.rb +20 -0
  104. data/lib/dldinternet/doctl/compute/floating-ip-action/assign/mixins/no_commands.rb +18 -0
  105. data/lib/dldinternet/doctl/compute/floating-ip-action/command.rb +30 -0
  106. data/lib/dldinternet/doctl/compute/floating-ip-action/get/command.rb +20 -0
  107. data/lib/dldinternet/doctl/compute/floating-ip-action/get/mixins/no_commands.rb +18 -0
  108. data/lib/dldinternet/doctl/compute/floating-ip-action/mixins/no_commands.rb +16 -0
  109. data/lib/dldinternet/doctl/compute/floating-ip-action/unassign/command.rb +20 -0
  110. data/lib/dldinternet/doctl/compute/floating-ip-action/unassign/mixins/no_commands.rb +18 -0
  111. data/lib/dldinternet/doctl/compute/floating-ip/command.rb +34 -0
  112. data/lib/dldinternet/doctl/compute/floating-ip/create/command.rb +20 -0
  113. data/lib/dldinternet/doctl/compute/floating-ip/create/mixins/no_commands.rb +18 -0
  114. data/lib/dldinternet/doctl/compute/floating-ip/delete/command.rb +20 -0
  115. data/lib/dldinternet/doctl/compute/floating-ip/delete/mixins/no_commands.rb +18 -0
  116. data/lib/dldinternet/doctl/compute/floating-ip/get/command.rb +20 -0
  117. data/lib/dldinternet/doctl/compute/floating-ip/get/mixins/no_commands.rb +18 -0
  118. data/lib/dldinternet/doctl/compute/floating-ip/list/command.rb +20 -0
  119. data/lib/dldinternet/doctl/compute/floating-ip/list/mixins/no_commands.rb +18 -0
  120. data/lib/dldinternet/doctl/compute/floating-ip/mixins/no_commands.rb +16 -0
  121. data/lib/dldinternet/doctl/compute/image-action/command.rb +26 -0
  122. data/lib/dldinternet/doctl/compute/image-action/get/command.rb +20 -0
  123. data/lib/dldinternet/doctl/compute/image-action/get/mixins/no_commands.rb +18 -0
  124. data/lib/dldinternet/doctl/compute/image-action/mixins/no_commands.rb +16 -0
  125. data/lib/dldinternet/doctl/compute/image-action/transfer/command.rb +20 -0
  126. data/lib/dldinternet/doctl/compute/image-action/transfer/mixins/no_commands.rb +18 -0
  127. data/lib/dldinternet/doctl/compute/image/command.rb +46 -0
  128. data/lib/dldinternet/doctl/compute/image/delete/command.rb +20 -0
  129. data/lib/dldinternet/doctl/compute/image/delete/mixins/no_commands.rb +18 -0
  130. data/lib/dldinternet/doctl/compute/image/get/command.rb +20 -0
  131. data/lib/dldinternet/doctl/compute/image/get/mixins/no_commands.rb +18 -0
  132. data/lib/dldinternet/doctl/compute/image/list-application/command.rb +20 -0
  133. data/lib/dldinternet/doctl/compute/image/list-application/mixins/no_commands.rb +18 -0
  134. data/lib/dldinternet/doctl/compute/image/list-distribution/command.rb +20 -0
  135. data/lib/dldinternet/doctl/compute/image/list-distribution/mixins/no_commands.rb +18 -0
  136. data/lib/dldinternet/doctl/compute/image/list-user/command.rb +20 -0
  137. data/lib/dldinternet/doctl/compute/image/list-user/mixins/no_commands.rb +18 -0
  138. data/lib/dldinternet/doctl/compute/image/list/command.rb +20 -0
  139. data/lib/dldinternet/doctl/compute/image/list/mixins/no_commands.rb +18 -0
  140. data/lib/dldinternet/doctl/compute/image/mixins/no_commands.rb +16 -0
  141. data/lib/dldinternet/doctl/compute/image/update/command.rb +20 -0
  142. data/lib/dldinternet/doctl/compute/image/update/mixins/no_commands.rb +18 -0
  143. data/lib/dldinternet/doctl/compute/mixins/no_commands.rb +12 -0
  144. data/lib/dldinternet/doctl/compute/plugin/command.rb +26 -0
  145. data/lib/dldinternet/doctl/compute/plugin/list/command.rb +20 -0
  146. data/lib/dldinternet/doctl/compute/plugin/list/mixins/no_commands.rb +18 -0
  147. data/lib/dldinternet/doctl/compute/plugin/mixins/no_commands.rb +16 -0
  148. data/lib/dldinternet/doctl/compute/plugin/run/command.rb +20 -0
  149. data/lib/dldinternet/doctl/compute/plugin/run/mixins/no_commands.rb +18 -0
  150. data/lib/dldinternet/doctl/compute/region/command.rb +22 -0
  151. data/lib/dldinternet/doctl/compute/region/list/command.rb +20 -0
  152. data/lib/dldinternet/doctl/compute/region/list/mixins/no_commands.rb +18 -0
  153. data/lib/dldinternet/doctl/compute/region/mixins/no_commands.rb +16 -0
  154. data/lib/dldinternet/doctl/compute/size/command.rb +22 -0
  155. data/lib/dldinternet/doctl/compute/size/list/command.rb +20 -0
  156. data/lib/dldinternet/doctl/compute/size/list/mixins/no_commands.rb +18 -0
  157. data/lib/dldinternet/doctl/compute/size/mixins/no_commands.rb +16 -0
  158. data/lib/dldinternet/doctl/compute/ssh-key/command.rb +42 -0
  159. data/lib/dldinternet/doctl/compute/ssh-key/create/command.rb +20 -0
  160. data/lib/dldinternet/doctl/compute/ssh-key/create/mixins/no_commands.rb +18 -0
  161. data/lib/dldinternet/doctl/compute/ssh-key/delete/command.rb +20 -0
  162. data/lib/dldinternet/doctl/compute/ssh-key/delete/mixins/no_commands.rb +18 -0
  163. data/lib/dldinternet/doctl/compute/ssh-key/get/command.rb +20 -0
  164. data/lib/dldinternet/doctl/compute/ssh-key/get/mixins/no_commands.rb +18 -0
  165. data/lib/dldinternet/doctl/compute/ssh-key/import/command.rb +20 -0
  166. data/lib/dldinternet/doctl/compute/ssh-key/import/mixins/no_commands.rb +18 -0
  167. data/lib/dldinternet/doctl/compute/ssh-key/list/command.rb +20 -0
  168. data/lib/dldinternet/doctl/compute/ssh-key/list/mixins/no_commands.rb +18 -0
  169. data/lib/dldinternet/doctl/compute/ssh-key/mixins/no_commands.rb +16 -0
  170. data/lib/dldinternet/doctl/compute/ssh-key/update/command.rb +20 -0
  171. data/lib/dldinternet/doctl/compute/ssh-key/update/mixins/no_commands.rb +18 -0
  172. data/lib/dldinternet/doctl/compute/ssh/command.rb +18 -0
  173. data/lib/dldinternet/doctl/compute/ssh/mixins/no_commands.rb +16 -0
  174. data/lib/dldinternet/doctl/compute/tag/command.rb +38 -0
  175. data/lib/dldinternet/doctl/compute/tag/create/command.rb +20 -0
  176. data/lib/dldinternet/doctl/compute/tag/create/mixins/no_commands.rb +18 -0
  177. data/lib/dldinternet/doctl/compute/tag/delete/command.rb +20 -0
  178. data/lib/dldinternet/doctl/compute/tag/delete/mixins/no_commands.rb +18 -0
  179. data/lib/dldinternet/doctl/compute/tag/get/command.rb +20 -0
  180. data/lib/dldinternet/doctl/compute/tag/get/mixins/no_commands.rb +18 -0
  181. data/lib/dldinternet/doctl/compute/tag/list/command.rb +20 -0
  182. data/lib/dldinternet/doctl/compute/tag/list/mixins/no_commands.rb +18 -0
  183. data/lib/dldinternet/doctl/compute/tag/mixins/no_commands.rb +16 -0
  184. data/lib/dldinternet/doctl/compute/tag/update/command.rb +20 -0
  185. data/lib/dldinternet/doctl/compute/tag/update/mixins/no_commands.rb +18 -0
  186. data/lib/dldinternet/doctl/compute/volume-action/attach/command.rb +20 -0
  187. data/lib/dldinternet/doctl/compute/volume-action/attach/mixins/no_commands.rb +18 -0
  188. data/lib/dldinternet/doctl/compute/volume-action/command.rb +26 -0
  189. data/lib/dldinternet/doctl/compute/volume-action/detach/command.rb +20 -0
  190. data/lib/dldinternet/doctl/compute/volume-action/detach/mixins/no_commands.rb +18 -0
  191. data/lib/dldinternet/doctl/compute/volume-action/mixins/no_commands.rb +16 -0
  192. data/lib/dldinternet/doctl/compute/volume/command.rb +34 -0
  193. data/lib/dldinternet/doctl/compute/volume/create/command.rb +20 -0
  194. data/lib/dldinternet/doctl/compute/volume/create/mixins/no_commands.rb +18 -0
  195. data/lib/dldinternet/doctl/compute/volume/delete/command.rb +20 -0
  196. data/lib/dldinternet/doctl/compute/volume/delete/mixins/no_commands.rb +18 -0
  197. data/lib/dldinternet/doctl/compute/volume/get/command.rb +20 -0
  198. data/lib/dldinternet/doctl/compute/volume/get/mixins/no_commands.rb +18 -0
  199. data/lib/dldinternet/doctl/compute/volume/list/command.rb +20 -0
  200. data/lib/dldinternet/doctl/compute/volume/list/mixins/no_commands.rb +18 -0
  201. data/lib/dldinternet/doctl/compute/volume/mixins/no_commands.rb +16 -0
  202. data/lib/dldinternet/doctl/main.rb +35 -0
  203. data/lib/dldinternet/doctl/mixins/no_commands.rb +8 -0
  204. data/lib/dldinternet/doctl/version.rb +5 -0
  205. metadata +421 -0
@@ -0,0 +1,16 @@
1
+ module DLDInternet
2
+ module DOctl
3
+ module Auth
4
+ module Init
5
+ module MixIns
6
+ module NoCommands
7
+
8
+ require 'dldinternet/doctl/auth/mixins/no_commands'
9
+ include DLDInternet::DOctl::Auth::MixIns::NoCommands
10
+
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,12 @@
1
+ module DLDInternet
2
+ module DOctl
3
+ module Auth
4
+ module MixIns
5
+ module NoCommands
6
+ require 'dldinternet/doctl/mixins/no_commands'
7
+ include DLDInternet::DOctl::MixIns::NoCommands
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,30 @@
1
+ require 'dldinternet/doctl/api/compute'
2
+ require 'dldinternet/doctl/compute/action/get/command'
3
+ require 'dldinternet/doctl/compute/action/list/command'
4
+ require 'dldinternet/doctl/compute/action/wait/command'
5
+
6
+ module DLDInternet
7
+ module DOctl
8
+ module Compute
9
+ module Action
10
+ class Command < DLDInternet::Thor::Command
11
+ no_commands do
12
+
13
+ require 'dldinternet/doctl/compute/action/mixins/no_commands'
14
+ include DLDInternet::DOctl::Compute::Action::MixIns::NoCommands
15
+
16
+ end
17
+
18
+ desc 'get SUBCOMMAND ... ARGS', 'get action'
19
+ subcommand 'get', ::DLDInternet::DOctl::Compute::Action::Get::Command
20
+
21
+ desc 'list SUBCOMMAND ... ARGS', 'list actions'
22
+ subcommand 'list', ::DLDInternet::DOctl::Compute::Action::List::Command
23
+
24
+ desc 'wait SUBCOMMAND ... ARGS', 'wait for action to complete'
25
+ subcommand 'wait', ::DLDInternet::DOctl::Compute::Action::Wait::Command
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,20 @@
1
+ require 'dldinternet/doctl/api/compute'
2
+
3
+ module DLDInternet
4
+ module DOctl
5
+ module Compute
6
+ module Action
7
+ module Get
8
+ class Command < DLDInternet::Thor::Command
9
+ no_commands do
10
+
11
+ require 'dldinternet/doctl/compute/action/get/mixins/no_commands'
12
+ include DLDInternet::DOctl::Compute::Action::Get::MixIns::NoCommands
13
+
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,18 @@
1
+ module DLDInternet
2
+ module DOctl
3
+ module Compute
4
+ module Action
5
+ module Get
6
+ module MixIns
7
+ module NoCommands
8
+
9
+ require 'dldinternet/doctl/compute/action/mixins/no_commands'
10
+ include DLDInternet::DOctl::Compute::Action::MixIns::NoCommands
11
+
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,20 @@
1
+ require 'dldinternet/doctl/api/compute'
2
+
3
+ module DLDInternet
4
+ module DOctl
5
+ module Compute
6
+ module Action
7
+ module List
8
+ class Command < DLDInternet::Thor::Command
9
+ no_commands do
10
+
11
+ require 'dldinternet/doctl/compute/action/list/mixins/no_commands'
12
+ include DLDInternet::DOctl::Compute::Action::List::MixIns::NoCommands
13
+
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,18 @@
1
+ module DLDInternet
2
+ module DOctl
3
+ module Compute
4
+ module Action
5
+ module List
6
+ module MixIns
7
+ module NoCommands
8
+
9
+ require 'dldinternet/doctl/compute/action/mixins/no_commands'
10
+ include DLDInternet::DOctl::Compute::Action::MixIns::NoCommands
11
+
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,16 @@
1
+ module DLDInternet
2
+ module DOctl
3
+ module Compute
4
+ module Action
5
+ module MixIns
6
+ module NoCommands
7
+
8
+ require 'dldinternet/doctl/compute/mixins/no_commands'
9
+ include DLDInternet::DOctl::Compute::MixIns::NoCommands
10
+
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,20 @@
1
+ require 'dldinternet/doctl/api/compute'
2
+
3
+ module DLDInternet
4
+ module DOctl
5
+ module Compute
6
+ module Action
7
+ module Wait
8
+ class Command < DLDInternet::Thor::Command
9
+ no_commands do
10
+
11
+ require 'dldinternet/doctl/compute/action/wait/mixins/no_commands'
12
+ include DLDInternet::DOctl::Compute::Action::Wait::MixIns::NoCommands
13
+
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,18 @@
1
+ module DLDInternet
2
+ module DOctl
3
+ module Compute
4
+ module Action
5
+ module Wait
6
+ module MixIns
7
+ module NoCommands
8
+
9
+ require 'dldinternet/doctl/compute/action/mixins/no_commands'
10
+ include DLDInternet::DOctl::Compute::Action::MixIns::NoCommands
11
+
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,81 @@
1
+ require 'dldinternet/doctl/compute/action/command'
2
+ require 'dldinternet/doctl/compute/droplet-action/command'
3
+ require 'dldinternet/doctl/compute/droplet/command'
4
+ require 'dldinternet/doctl/compute/domain/command'
5
+ require 'dldinternet/doctl/compute/floating-ip/command'
6
+ require 'dldinternet/doctl/compute/floating-ip-action/command'
7
+ require 'dldinternet/doctl/compute/image/command'
8
+ require 'dldinternet/doctl/compute/image-action/command'
9
+ require 'dldinternet/doctl/compute/plugin/command'
10
+ require 'dldinternet/doctl/compute/region/command'
11
+ require 'dldinternet/doctl/compute/size/command'
12
+ require 'dldinternet/doctl/compute/ssh-key/command'
13
+ require 'dldinternet/doctl/compute/tag/command'
14
+ require 'dldinternet/doctl/compute/volume/command'
15
+ require 'dldinternet/doctl/compute/volume-action/command'
16
+ require 'dldinternet/doctl/compute/ssh/command'
17
+ require 'dldinternet/doctl//compute/action/command'
18
+
19
+ module DLDInternet
20
+ module DOctl
21
+ module Compute
22
+ class Command < DLDInternet::Thor::Command
23
+ no_commands do
24
+
25
+ require 'dldinternet/doctl/compute/mixins/no_commands'
26
+ include DLDInternet::DOctl::Compute::MixIns::NoCommands
27
+
28
+ end
29
+
30
+ desc 'actions SUBCOMMAND ... ARGS', 'action commands'
31
+ subcommand 'actions', ::DLDInternet::DOctl::Compute::Action::Command
32
+
33
+ desc 'droplet-action SUBCOMMAND ... ARGS', 'droplet action commands'
34
+ subcommand 'droplet-action', ::DLDInternet::DOctl::Compute::DropletAction::Command
35
+
36
+ desc 'droplet SUBCOMMAND ... ARGS', 'droplet commands'
37
+ subcommand 'droplet', ::DLDInternet::DOctl::Compute::Droplet::Command
38
+
39
+ desc 'domain SUBCOMMAND ... ARGS', 'domain commands'
40
+ subcommand 'domain', ::DLDInternet::DOctl::Compute::Domain::Command
41
+
42
+ desc 'floating-ip SUBCOMMAND ... ARGS', 'floating IP commands'
43
+ subcommand 'floating-ip', ::DLDInternet::DOctl::Compute::FloatingIp::Command
44
+
45
+ desc 'floating-ip-action SUBCOMMAND ... ARGS', 'floating IP action commands'
46
+ subcommand 'floating-ip-action', ::DLDInternet::DOctl::Compute::FloatingIpAction::Command
47
+
48
+ desc 'image SUBCOMMAND ... ARGS', 'image commands'
49
+ subcommand 'image', ::DLDInternet::DOctl::Compute::Image::Command
50
+
51
+ desc 'image-action SUBCOMMAND ... ARGS', 'image-action commands'
52
+ subcommand 'image-action', ::DLDInternet::DOctl::Compute::ImageAction::Command
53
+
54
+ desc 'plugin SUBCOMMAND ... ARGS', 'plugin commands'
55
+ subcommand 'plugin', ::DLDInternet::DOctl::Compute::Plugin::Command
56
+
57
+ desc 'region SUBCOMMAND ... ARGS', 'region commands'
58
+ subcommand 'region', ::DLDInternet::DOctl::Compute::Region::Command
59
+
60
+ desc 'size SUBCOMMAND ... ARGS', 'size commands'
61
+ subcommand 'size', ::DLDInternet::DOctl::Compute::Size::Command
62
+
63
+ desc 'ssh-key SUBCOMMAND ... ARGS', 'sshkey commands'
64
+ subcommand 'ssh-key', ::DLDInternet::DOctl::Compute::SshKey::Command
65
+
66
+ desc 'tag SUBCOMMAND ... ARGS', 'tag commands'
67
+ subcommand 'tag', ::DLDInternet::DOctl::Compute::Tag::Command
68
+
69
+ desc 'volume SUBCOMMAND ... ARGS', 'volume commands'
70
+ subcommand 'volume', ::DLDInternet::DOctl::Compute::Volume::Command
71
+
72
+ desc 'volume-action SUBCOMMAND ... ARGS', 'volume action commands'
73
+ subcommand 'volume-action', ::DLDInternet::DOctl::Compute::VolumeAction::Command
74
+
75
+ desc 'ssh SUBCOMMAND ... ARGS', 'ssh to droplet'
76
+ subcommand 'ssh', ::DLDInternet::DOctl::Compute::Ssh::Command
77
+
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,105 @@
1
+ require 'dldinternet/doctl/api/compute'
2
+ require 'dldinternet/doctl/compute/domain/records/command'
3
+
4
+ module DLDInternet
5
+ module DOctl
6
+ module Compute
7
+ module Domain
8
+ class Command < DLDInternet::Thor::Command
9
+ no_commands do
10
+
11
+ require 'dldinternet/doctl/compute/domain/mixins/no_commands'
12
+ include DLDInternet::DOctl::Compute::Domain::MixIns::NoCommands
13
+
14
+ end
15
+
16
+ desc 'list ARGS', 'list domains'
17
+ def list()
18
+ command_pre
19
+ res = DLDInternet::DOctl::API::Compute::Domain::List.new(options, @logger).GetDomainList()
20
+ @header = -> { sprintf('%-17s%s', 'Domain', 'TTL') }
21
+ @format = ->(obj) { sprintf('%-17s%s', obj[:name], obj[:ttl] ) }
22
+ command_out(res)
23
+ # case options[:format]
24
+ # when /text|none/
25
+ # output sprintf('%-17s%s', 'Domain', 'TTL')
26
+ # res.each do |obj|
27
+ # output sprintf('%-17s%s', obj[:name], obj[:ttl] )
28
+ # end
29
+ # else
30
+ # output res
31
+ # end
32
+ 0
33
+ end
34
+
35
+ desc 'get SUBCOMMAND ... ARGS', 'get domain'
36
+ method_option :header, type: :boolean, desc: 'show/hide headers', default: true
37
+ method_option :format_string, type: :string, desc: 'Columns for output in a comma seperated list. Possible values: Domain,TTL', default: 'Domain,TTL'
38
+ def get(domain)
39
+ formats = Hashie::Mash.new({
40
+ Domain: [ :name, '%-16s', :to_s ],
41
+ TTL: [ :ttl, '%-6s', :to_i ],
42
+ })
43
+ format_names = options[:format_string].split(/,/)
44
+ format_templ = format_names.map { |name| formats[name][1] }.join('')
45
+
46
+ @header = -> { sprintf(format_templ, *format_names) }
47
+ @format = ->(o) {
48
+ # h = Hashie::Mash.new(hash_it(o))
49
+ sprintf(format_templ, *(format_names.map{ |n|
50
+ if o.respond_to?(formats[n][0])
51
+ o.send(formats[n][0]).send(formats[n][2])
52
+ else
53
+ $stderr.write "#{n} not in #{o.class.name}::#{hash_it(o)}\n"
54
+ ''
55
+ end
56
+ })) }
57
+ command_pre(domain)
58
+ command_out(DLDInternet::DOctl::API::Compute::Domain::Get.new(options, @logger).GetDomain(domain))
59
+ 0
60
+ end
61
+
62
+ desc 'create ARGS', 'create domain'
63
+ method_option :header, type: :boolean, desc: 'show/hide headers', default: true
64
+ method_option :format_string, type: :string, desc: 'Columns for output in a comma seperated list. Possible values: Domain,TTL', default: 'Domain,TTL'
65
+ method_option :ip_address, type: :string, desc: 'IP address', required: true
66
+ def create(domain)
67
+ formats = Hashie::Mash.new({
68
+ Domain: [ :name, '%-16s', :to_s ],
69
+ TTL: [ :ttl, '%-6s', :to_i ],
70
+ })
71
+ format_names = options[:format_string].split(/,/)
72
+ format_templ = format_names.map { |name| formats[name][1] }.join('')
73
+
74
+ @header = -> { sprintf(format_templ, *format_names) }
75
+ @format = ->(o) {
76
+ # h = Hashie::Mash.new(hash_it(o))
77
+ sprintf(format_templ, *(format_names.map{ |n|
78
+ if o.respond_to?(formats[n][0])
79
+ o.send(formats[n][0]).send(formats[n][2])
80
+ else
81
+ $stderr.write "#{n} not in #{o.class.name}::#{hash_it(o)}\n"
82
+ ''
83
+ end
84
+ })) }
85
+ command_pre(domain)
86
+ command_out(DLDInternet::DOctl::API::Compute::Domain::Create.new(options, @logger).CreateDomain(domain, options[:ip_address]))
87
+ 0
88
+ end
89
+
90
+ desc 'delete SUBCOMMAND ... ARGS', 'delete droplet'
91
+ def delete(domain)
92
+ @header = -> { }
93
+ @format = ->(o) { o.ai }
94
+ command_pre(domain)
95
+ command_out(DLDInternet::DOctl::API::Compute::Domain::Delete.new(options, @logger).DeleteDomain(domain))
96
+ 0
97
+ end
98
+
99
+ desc 'records SUBCOMMAND ... ARGS', 'domain record commands'
100
+ subcommand 'records', ::DLDInternet::DOctl::Compute::Domain::Records::Command
101
+ end
102
+ end
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,16 @@
1
+ module DLDInternet
2
+ module DOctl
3
+ module Compute
4
+ module Domain
5
+ module MixIns
6
+ module NoCommands
7
+
8
+ require 'dldinternet/doctl/compute/mixins/no_commands'
9
+ include DLDInternet::DOctl::Compute::MixIns::NoCommands
10
+
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,89 @@
1
+ require 'dldinternet/doctl/api/compute'
2
+
3
+ module DLDInternet
4
+ module DOctl
5
+ module Compute
6
+ module Domain
7
+ module Records
8
+ class Command < DLDInternet::Thor::Command
9
+ no_commands do
10
+
11
+ require 'dldinternet/doctl/compute/domain/records/mixins/no_commands'
12
+ include DLDInternet::DOctl::Compute::Domain::Records::MixIns::NoCommands
13
+
14
+ end
15
+
16
+ desc 'list ARGS', 'list records'
17
+ method_option :domain_name, type: :string, desc: 'Domain name'
18
+ method_option :header, type: :boolean, desc: 'show/hide headers', default: true
19
+ method_option :format_string, type: :string, desc: 'Columns for output in a comma seperated list. Possible values: ID,Type,Name,Data,Priority,Port,Weight', default: 'ID,Type,Name,Data,Priority,Port,Weight'
20
+ def list(domain)
21
+ records_formats
22
+ command_pre(domain)
23
+ command_out(DLDInternet::DOctl::API::Compute::Domain::Records::List.new(options, @logger).GetDomainRecordsList(domain))
24
+ 0
25
+ end
26
+
27
+ desc 'create ARGS', 'create record'
28
+ method_option :header, type: :boolean, desc: 'show/hide headers', default: true
29
+ method_option :format_string, type: :string, desc: 'Columns for output in a comma seperated list. Possible values: ID,Type,Name,Data,Priority,Port,Weight', default: 'ID,Type,Name,Data,Priority,Port,Weight'
30
+ method_option :record_name, type: :string, desc: 'Record name', required: true
31
+ method_option :record_type, type: :string, desc: 'Record type', required: true
32
+ method_option :record_data, type: :string, desc: 'Record data', required: true
33
+ method_option :record_port, type: :numeric, desc: 'Record port', default: nil
34
+ method_option :record_priority, type: :numeric, desc: 'Record priority', default: nil
35
+ method_option :record_weight, type: :numeric, desc: 'Record weight', default: nil
36
+ def create(domain)
37
+ records_formats
38
+ command_pre(domain)
39
+ command_out(DLDInternet::DOctl::API::Compute::Domain::Records::Create.new(options, @logger).CreateDomainRecord(domain, record_from_options))
40
+ 0
41
+ end
42
+
43
+ desc 'delete ARGS', 'delete record'
44
+ method_option :header, type: :boolean, desc: 'show/hide headers', default: true
45
+ method_option :format_string, type: :string, desc: 'Columns for output in a comma seperated list. Possible values: ID,Type,Name,Data,Priority,Port,Weight', default: 'ID,Type,Name,Data,Priority,Port,Weight'
46
+ def delete(domain, id)
47
+ # @header = -> { }
48
+ # @format = ->(o) { o.ai }
49
+ records_formats
50
+ command_pre(domain)
51
+ DLDInternet::DOctl::API::Compute::Domain::Records::Delete.new(options, @logger).DeleteDomainRecord(domain, id)
52
+ command_out(DLDInternet::DOctl::API::Compute::Domain::Records::List.new(options, @logger).GetDomainRecordsList(domain))
53
+ 0
54
+ end
55
+
56
+ desc 'update ARGS', 'update record'
57
+ method_option :header, type: :boolean, desc: 'show/hide headers', default: true
58
+ method_option :format_string, type: :string, desc: 'Columns for output in a comma seperated list. Possible values: ID,Type,Name,Data,Priority,Port,Weight', default: 'ID,Type,Name,Data,Priority,Port,Weight'
59
+ method_option :record_id, type: :numeric, desc: 'Record ID', required: true
60
+ method_option :record_name, type: :string, desc: 'Record name', required: true
61
+ method_option :record_type, type: :string, desc: 'Record type', required: true
62
+ method_option :record_data, type: :string, desc: 'Record data', required: true
63
+ method_option :record_port, type: :numeric, desc: 'Record port', default: nil
64
+ method_option :record_priority, type: :numeric, desc: 'Record priority', default: nil
65
+ method_option :record_weight, type: :numeric, desc: 'Record weight', default: nil
66
+ def update(domain)
67
+ records_formats
68
+ command_pre(domain)
69
+ res = DLDInternet::DOctl::API::Compute::Domain::Records::Update.new(options, @logger).UpdateDomainRecord(domain, record_from_options, options[:record_id])
70
+ if res.is_a?(::DropletKit::DomainRecord)
71
+ res = DLDInternet::DOctl::API::Compute::Domain::Records::Delete.new(options, @logger).DeleteDomainRecord(domain, options[:record_id])
72
+ if res === true
73
+ command_out(DLDInternet::DOctl::API::Compute::Domain::Records::List.new(options, @logger).GetDomainRecordsList(domain))
74
+ 0
75
+ else
76
+ command_out(res)
77
+ 1
78
+ end
79
+ else
80
+ command_out(res)
81
+ 1
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end