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 @@
1
+ require 'dldinternet/doctl/api/auth/get'
@@ -0,0 +1,16 @@
1
+ require 'dldinternet/doctl/api/base'
2
+
3
+ module DLDInternet
4
+ module DOctl
5
+ module API
6
+ module NameServers
7
+ class Get < DLDInternet::DOctl::API::Base
8
+
9
+ require 'dldinternet/doctl/api/auth/mixins/get/getnameservers'
10
+ include DLDInternet::DOctl::API::Auth::MixIns::Get::GetNameServers
11
+
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ require 'hashie/mash'
2
+
3
+ module DLDInternet
4
+ module DOctl
5
+ module API
6
+ module Auth
7
+ module MixIns
8
+ module Get
9
+ module GetNameServers
10
+
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,120 @@
1
+ require 'droplet_kit'
2
+ require 'droplet_kit/client.rb'
3
+ require 'droplet_kit/mappings/account_mapping.rb'
4
+ require 'droplet_kit/models/account.rb'
5
+
6
+ module DropletKit
7
+ class Account < BaseModel
8
+ attribute :droplet_limit
9
+ attribute :floating_ip_limit
10
+ attribute :email
11
+ attribute :uuid
12
+ attribute :email_verified
13
+ attribute :status
14
+ attribute :status_message
15
+ end
16
+ end
17
+
18
+ module DropletKit
19
+ class AccountMapping
20
+ include Kartograph::DSL
21
+
22
+ kartograph do
23
+ root_key singular: 'account', scopes: [:read]
24
+ mapping Account
25
+
26
+ scoped :read do
27
+ property :droplet_limit
28
+ property :floating_ip_limit
29
+ property :email
30
+ property :uuid
31
+ property :email_verified
32
+ property :status
33
+ property :status_message
34
+ end
35
+ end
36
+ end
37
+ end
38
+
39
+ # module DropletKit
40
+ # class RatelimitMapping
41
+ # include Kartograph::DSL
42
+ #
43
+ # kartograph do
44
+ # root_key singular: 'account', scopes: [:read]
45
+ # mapping Account
46
+ #
47
+ # scoped :read do
48
+ # property :droplet_limit
49
+ # property :floating_ip_limit
50
+ # property :email
51
+ # property :uuid
52
+ # property :email_verified
53
+ # property :status
54
+ # property :status_message
55
+ # end
56
+ # end
57
+ # end
58
+ # end
59
+
60
+ module DropletKit
61
+ class RatelimitResource < ResourceKit::Resource
62
+
63
+ attr :response
64
+
65
+ include ErrorHandlingResourcable
66
+
67
+ resources do
68
+ default_handler(:ok) {|r|
69
+ #AccountMapping.extract_single(r.body, :read)
70
+ @response = r
71
+ }
72
+ get '/v2/account' => :info
73
+ end
74
+ end
75
+ end
76
+
77
+ module DLDInternet
78
+ module DOctl
79
+ module API
80
+ class Client < ::DropletKit::Client
81
+ def self.resources
82
+ {
83
+ actions: ::DropletKit::ActionResource,
84
+ droplets: ::DropletKit::DropletResource,
85
+ domains: ::DropletKit::DomainResource,
86
+ domain_records: ::DropletKit::DomainRecordResource,
87
+ droplet_actions: ::DropletKit::DropletActionResource,
88
+ images: ::DropletKit::ImageResource,
89
+ image_actions: ::DropletKit::ImageActionResource,
90
+ regions: ::DropletKit::RegionResource,
91
+ sizes: ::DropletKit::SizeResource,
92
+ ssh_keys: ::DropletKit::SSHKeyResource,
93
+ snapshots: ::DropletKit::SnapshotResource,
94
+ account: ::DropletKit::AccountResource,
95
+ ratelimit: ::DropletKit::RatelimitResource,
96
+ floating_ips: ::DropletKit::FloatingIpResource,
97
+ floating_ip_actions: ::DropletKit::FloatingIpActionResource,
98
+ tags: ::DropletKit::TagResource,
99
+ volumes: ::DropletKit::VolumeResource,
100
+ volume_actions: ::DropletKit::VolumeActionResource
101
+ }
102
+ end
103
+ end
104
+
105
+ class Base
106
+ attr_reader :options, :logger, :client
107
+
108
+ def client
109
+ @client ||= DLDInternet::DOctl::API::Client.new(access_token: options[:access_token])
110
+ end
111
+
112
+ def initialize(options, logger=nil)
113
+ @options = options
114
+ @logger = logger
115
+ end
116
+
117
+ end
118
+ end
119
+ end
120
+ end
@@ -0,0 +1 @@
1
+ require 'dldinternet/doctl/api/compute/domain'
@@ -0,0 +1,6 @@
1
+ require 'dldinternet/doctl/api/base'
2
+ require 'dldinternet/doctl/api/compute/domain/list'
3
+ require 'dldinternet/doctl/api/compute/domain/get'
4
+ require 'dldinternet/doctl/api/compute/domain/create'
5
+ require 'dldinternet/doctl/api/compute/domain/delete'
6
+ require 'dldinternet/doctl/api/compute/domain/records'
@@ -0,0 +1,29 @@
1
+ require 'hashie/mash'
2
+ require 'json'
3
+
4
+ module DLDInternet
5
+ module DOctl
6
+ module API
7
+ module Compute
8
+ module Domain
9
+ class Create < DLDInternet::DOctl::API::Base
10
+
11
+ # noinspection RubyUnnecessaryReturnValue
12
+ def CreateDomain(domain, ip_address)
13
+ client.domains.create(Hashie::Mash.new({name: domain, ip_address: ip_address}))
14
+ rescue ::DropletKit::Error => e
15
+ if matches = e.message.match(%r{^([0-9]{3}):\s+(\{.*\})\s*$})
16
+ json = JSON.parse(matches[2])
17
+ @logger.fatal json['message']
18
+ else
19
+ @logger.fatal e.message
20
+ end
21
+ exit 1
22
+ end
23
+
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,28 @@
1
+ require 'hashie/mash'
2
+
3
+ module DLDInternet
4
+ module DOctl
5
+ module API
6
+ module Compute
7
+ module Domain
8
+ class Delete < DLDInternet::DOctl::API::Base
9
+
10
+ # noinspection RubyUnnecessaryReturnValue
11
+ def DeleteDomain(domain)
12
+ client.domains.delete(name: domain)
13
+ rescue ::DropletKit::Error => e
14
+ if matches = e.message.match(%r{^([0-9]{3}):\s+(\{.*\})\s*$})
15
+ json = JSON.parse(matches[2])
16
+ @logger.fatal json['message']
17
+ else
18
+ @logger.fatal e.message
19
+ end
20
+ exit 1
21
+ end
22
+
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,20 @@
1
+ require 'hashie/mash'
2
+
3
+ module DLDInternet
4
+ module DOctl
5
+ module API
6
+ module Compute
7
+ module Domain
8
+ class Get < DLDInternet::DOctl::API::Base
9
+
10
+ # noinspection RubyUnnecessaryReturnValue
11
+ def GetDomain(domain)
12
+ client.domains.find(name: domain)
13
+ end
14
+
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,24 @@
1
+ require 'hashie/mash'
2
+
3
+ module DLDInternet
4
+ module DOctl
5
+ module API
6
+ module Compute
7
+ module Domain
8
+ class List < DLDInternet::DOctl::API::Base
9
+
10
+ # noinspection RubyUnnecessaryReturnValue
11
+ def GetDomainList()
12
+ list = []
13
+ client.domains.all().each do |page|
14
+ list << page
15
+ end
16
+ list
17
+ end
18
+
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,4 @@
1
+ require 'dldinternet/doctl/api/compute/domain/records/list'
2
+ require 'dldinternet/doctl/api/compute/domain/records/create'
3
+ require 'dldinternet/doctl/api/compute/domain/records/delete'
4
+ require 'dldinternet/doctl/api/compute/domain/records/update'
@@ -0,0 +1,30 @@
1
+ require 'hashie/mash'
2
+
3
+ module DLDInternet
4
+ module DOctl
5
+ module API
6
+ module Compute
7
+ module Domain
8
+ module Records
9
+ class Create < DLDInternet::DOctl::API::Base
10
+
11
+ # noinspection RubyUnnecessaryReturnValue
12
+ def CreateDomainRecord(domain, record)
13
+ client.domain_records.create(record, for_domain: domain)
14
+ rescue ::DropletKit::Error => e
15
+ if matches = e.message.match(%r{^([0-9]{3}):\s+(\{.*\})\s*$})
16
+ json = JSON.parse(matches[2])
17
+ @logger.fatal json['message']
18
+ else
19
+ @logger.fatal e.message
20
+ end
21
+ exit 1
22
+ end
23
+
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ require 'hashie/mash'
2
+
3
+ module DLDInternet
4
+ module DOctl
5
+ module API
6
+ module Compute
7
+ module Domain
8
+ module Records
9
+ class Delete < DLDInternet::DOctl::API::Base
10
+
11
+ # noinspection RubyUnnecessaryReturnValue
12
+ def DeleteDomainRecord(domain, id)
13
+ client.domain_records.delete(id: id, for_domain: domain)
14
+ rescue ::DropletKit::Error => e
15
+ if matches = e.message.match(%r{^([0-9]{3}):\s+(\{.*\})\s*$})
16
+ json = JSON.parse(matches[2])
17
+ @logger.fatal json['message']
18
+ else
19
+ @logger.fatal e.message
20
+ end
21
+ exit 1
22
+ end
23
+
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,33 @@
1
+ require 'hashie/mash'
2
+
3
+ module DLDInternet
4
+ module DOctl
5
+ module API
6
+ module Compute
7
+ module Domain
8
+ module Records
9
+ class List < DLDInternet::DOctl::API::Base
10
+
11
+ # noinspection RubyUnnecessaryReturnValue
12
+ def GetDomainRecordsList(domain)
13
+ list = []
14
+ client.domain_records.all(for_domain: domain).each do |page|
15
+ list << page
16
+ end
17
+ list
18
+ rescue ::DropletKit::Error => e
19
+ if matches = e.message.match(%r{^([0-9]{3}):\s+(\{.*\})\s*$})
20
+ json = JSON.parse(matches[2])
21
+ @logger.fatal json['message']
22
+ else
23
+ @logger.fatal e.message
24
+ end
25
+ exit 1
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,30 @@
1
+ require 'hashie/mash'
2
+
3
+ module DLDInternet
4
+ module DOctl
5
+ module API
6
+ module Compute
7
+ module Domain
8
+ module Records
9
+ class Update < DLDInternet::DOctl::API::Base
10
+
11
+ # noinspection RubyUnnecessaryReturnValue
12
+ def UpdateDomainRecord(domain, record, id)
13
+ client.domain_records.create(record, for_domain: domain, id: id)
14
+ rescue ::DropletKit::Error => e
15
+ if matches = e.message.match(%r{^([0-9]{3}):\s+(\{.*\})\s*$})
16
+ json = JSON.parse(matches[2])
17
+ @logger.fatal json['message']
18
+ else
19
+ @logger.fatal e.message
20
+ end
21
+ exit 1
22
+ end
23
+
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,19 @@
1
+ require 'dldinternet/doctl/auth/init/command'
2
+
3
+ module DLDInternet
4
+ module DOctl
5
+ module Auth
6
+ class Command < DLDInternet::Thor::Command
7
+ no_commands do
8
+
9
+ require 'dldinternet/doctl/auth/mixins/no_commands'
10
+ include DLDInternet::DOctl::Auth::MixIns::NoCommands
11
+
12
+ end
13
+
14
+ desc 'init SUBCOMMAND ... ARGS', 'initialize configuration'
15
+ subcommand 'init', ::DLDInternet::DOctl::Auth::Init::Command
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,18 @@
1
+ require 'dldinternet/doctl/api/auth'
2
+
3
+ module DLDInternet
4
+ module DOctl
5
+ module Auth
6
+ module Init
7
+ class Command < DLDInternet::Thor::Command
8
+ no_commands do
9
+
10
+ require 'dldinternet/doctl/auth/init/mixins/no_commands'
11
+ include DLDInternet::DOctl::Auth::Init::MixIns::NoCommands
12
+
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end