1and1 1.1

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 (290) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/1and1-1.0.gem +0 -0
  4. data/1and1.gemspec +20 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE +201 -0
  7. data/README.md +499 -0
  8. data/docs/reference.md +2447 -0
  9. data/examples/dvd_examples.rb +15 -0
  10. data/examples/example_app.rb +100 -0
  11. data/examples/firewall_examples.rb +137 -0
  12. data/examples/image_examples.rb +48 -0
  13. data/examples/load_balancer_examples.rb +145 -0
  14. data/examples/log_examples.rb +15 -0
  15. data/examples/monitoring_center_examples.rb +15 -0
  16. data/examples/monitoring_policy_examples.rb +343 -0
  17. data/examples/private_network_examples.rb +86 -0
  18. data/examples/public_ip_examples.rb +42 -0
  19. data/examples/role_examples.rb +113 -0
  20. data/examples/server_appliance_examples.rb +15 -0
  21. data/examples/server_examples.rb +438 -0
  22. data/examples/shared_storage_examples.rb +108 -0
  23. data/examples/usage_examples.rb +6 -0
  24. data/examples/user_examples.rb +113 -0
  25. data/examples/vpn_examples.rb +56 -0
  26. data/lib/1and1/datacenter.rb +73 -0
  27. data/lib/1and1/dvd.rb +73 -0
  28. data/lib/1and1/firewall.rb +427 -0
  29. data/lib/1and1/image.rb +231 -0
  30. data/lib/1and1/load_balancer.rb +448 -0
  31. data/lib/1and1/log.rb +77 -0
  32. data/lib/1and1/monitoring_center.rb +84 -0
  33. data/lib/1and1/monitoring_policy.rb +598 -0
  34. data/lib/1and1/oneandone.rb +57 -0
  35. data/lib/1and1/ping.rb +41 -0
  36. data/lib/1and1/ping_auth.rb +41 -0
  37. data/lib/1and1/pricing.rb +41 -0
  38. data/lib/1and1/private_network.rb +333 -0
  39. data/lib/1and1/public_ip.rb +192 -0
  40. data/lib/1and1/role.rb +381 -0
  41. data/lib/1and1/server.rb +1208 -0
  42. data/lib/1and1/server_appliance.rb +73 -0
  43. data/lib/1and1/shared_storage.rb +379 -0
  44. data/lib/1and1/usage.rb +58 -0
  45. data/lib/1and1/user.rb +374 -0
  46. data/lib/1and1/vpn.rb +249 -0
  47. data/lib/oneandone.rb +27 -0
  48. data/sphinx/Makefile +192 -0
  49. data/sphinx/_build/doctrees/dvds.doctree +0 -0
  50. data/sphinx/_build/doctrees/environment.pickle +0 -0
  51. data/sphinx/_build/doctrees/firewalls.doctree +0 -0
  52. data/sphinx/_build/doctrees/images.doctree +0 -0
  53. data/sphinx/_build/doctrees/index.doctree +0 -0
  54. data/sphinx/_build/doctrees/load_balancers.doctree +0 -0
  55. data/sphinx/_build/doctrees/logs.doctree +0 -0
  56. data/sphinx/_build/doctrees/monitoring_center.doctree +0 -0
  57. data/sphinx/_build/doctrees/monitoring_policies.doctree +0 -0
  58. data/sphinx/_build/doctrees/private_networks.doctree +0 -0
  59. data/sphinx/_build/doctrees/public_ips.doctree +0 -0
  60. data/sphinx/_build/doctrees/server_appliances.doctree +0 -0
  61. data/sphinx/_build/doctrees/servers.doctree +0 -0
  62. data/sphinx/_build/doctrees/shared_storages.doctree +0 -0
  63. data/sphinx/_build/doctrees/usages.doctree +0 -0
  64. data/sphinx/_build/doctrees/users.doctree +0 -0
  65. data/sphinx/_build/html/.buildinfo +4 -0
  66. data/sphinx/_build/html/_sources/dvds.txt +42 -0
  67. data/sphinx/_build/html/_sources/firewalls.txt +189 -0
  68. data/sphinx/_build/html/_sources/images.txt +101 -0
  69. data/sphinx/_build/html/_sources/index.txt +499 -0
  70. data/sphinx/_build/html/_sources/load_balancers.txt +231 -0
  71. data/sphinx/_build/html/_sources/logs.txt +55 -0
  72. data/sphinx/_build/html/_sources/monitoring_center.txt +55 -0
  73. data/sphinx/_build/html/_sources/monitoring_policies.txt +288 -0
  74. data/sphinx/_build/html/_sources/private_networks.txt +146 -0
  75. data/sphinx/_build/html/_sources/public_ips.txt +78 -0
  76. data/sphinx/_build/html/_sources/server_appliances.txt +42 -0
  77. data/sphinx/_build/html/_sources/servers.txt +630 -0
  78. data/sphinx/_build/html/_sources/shared_storages.txt +160 -0
  79. data/sphinx/_build/html/_sources/usages.txt +45 -0
  80. data/sphinx/_build/html/_sources/users.txt +172 -0
  81. data/sphinx/_build/html/_static/ajax-loader.gif +0 -0
  82. data/sphinx/_build/html/_static/alabaster.css +585 -0
  83. data/sphinx/_build/html/_static/basic.css +599 -0
  84. data/sphinx/_build/html/_static/comment-bright.png +0 -0
  85. data/sphinx/_build/html/_static/comment-close.png +0 -0
  86. data/sphinx/_build/html/_static/comment.png +0 -0
  87. data/sphinx/_build/html/_static/doctools.js +263 -0
  88. data/sphinx/_build/html/_static/down-pressed.png +0 -0
  89. data/sphinx/_build/html/_static/down.png +0 -0
  90. data/sphinx/_build/html/_static/file.png +0 -0
  91. data/sphinx/_build/html/_static/jquery-1.11.1.js +10308 -0
  92. data/sphinx/_build/html/_static/jquery.js +4 -0
  93. data/sphinx/_build/html/_static/minus.png +0 -0
  94. data/sphinx/_build/html/_static/plus.png +0 -0
  95. data/sphinx/_build/html/_static/pygments.css +63 -0
  96. data/sphinx/_build/html/_static/searchtools.js +651 -0
  97. data/sphinx/_build/html/_static/underscore-1.3.1.js +999 -0
  98. data/sphinx/_build/html/_static/underscore.js +31 -0
  99. data/sphinx/_build/html/_static/up-pressed.png +0 -0
  100. data/sphinx/_build/html/_static/up.png +0 -0
  101. data/sphinx/_build/html/_static/websupport.js +808 -0
  102. data/sphinx/_build/html/dvds.html +151 -0
  103. data/sphinx/_build/html/firewalls.html +397 -0
  104. data/sphinx/_build/html/genindex.html +114 -0
  105. data/sphinx/_build/html/images.html +236 -0
  106. data/sphinx/_build/html/index.html +571 -0
  107. data/sphinx/_build/html/load_balancers.html +409 -0
  108. data/sphinx/_build/html/logs.html +160 -0
  109. data/sphinx/_build/html/monitoring_center.html +160 -0
  110. data/sphinx/_build/html/monitoring_policies.html +530 -0
  111. data/sphinx/_build/html/objects.inv +0 -0
  112. data/sphinx/_build/html/private_networks.html +316 -0
  113. data/sphinx/_build/html/public_ips.html +215 -0
  114. data/sphinx/_build/html/rb-modindex.html +106 -0
  115. data/sphinx/_build/html/search.html +99 -0
  116. data/sphinx/_build/html/searchindex.js +1 -0
  117. data/sphinx/_build/html/server_appliances.html +153 -0
  118. data/sphinx/_build/html/servers.html +994 -0
  119. data/sphinx/_build/html/shared_storages.html +349 -0
  120. data/sphinx/_build/html/usages.html +140 -0
  121. data/sphinx/_build/html/users.html +363 -0
  122. data/sphinx/conf.py +287 -0
  123. data/sphinx/dvds.rst +42 -0
  124. data/sphinx/firewalls.rst +189 -0
  125. data/sphinx/images.rst +101 -0
  126. data/sphinx/index.rst +499 -0
  127. data/sphinx/load_balancers.rst +231 -0
  128. data/sphinx/logs.rst +55 -0
  129. data/sphinx/make.bat +263 -0
  130. data/sphinx/monitoring_center.rst +55 -0
  131. data/sphinx/monitoring_policies.rst +288 -0
  132. data/sphinx/private_networks.rst +146 -0
  133. data/sphinx/public_ips.rst +78 -0
  134. data/sphinx/server_appliances.rst +42 -0
  135. data/sphinx/servers.rst +630 -0
  136. data/sphinx/shared_storages.rst +160 -0
  137. data/sphinx/usages.rst +45 -0
  138. data/sphinx/users.rst +172 -0
  139. data/test/mock-api/add-firewall.json +66 -0
  140. data/test/mock-api/add-hdd.json +49 -0
  141. data/test/mock-api/add-lb.json +71 -0
  142. data/test/mock-api/add-new-ip.json +18 -0
  143. data/test/mock-api/add-pn.json +66 -0
  144. data/test/mock-api/add-port-mp.json +81 -0
  145. data/test/mock-api/add-process-mp.json +20 -0
  146. data/test/mock-api/add-rule-fp.json +33 -0
  147. data/test/mock-api/add-rule-lb.json +40 -0
  148. data/test/mock-api/add-server-ip.json +66 -0
  149. data/test/mock-api/add-server-mp.json +66 -0
  150. data/test/mock-api/assign-ip-fp.json +32 -0
  151. data/test/mock-api/assign-server-lb.json +39 -0
  152. data/test/mock-api/attach-server-pn.json +14 -0
  153. data/test/mock-api/attach-server-storage.json +24 -0
  154. data/test/mock-api/change-api-key.json +15 -0
  155. data/test/mock-api/change-password.json +5 -0
  156. data/test/mock-api/change-server-status.json +70 -0
  157. data/test/mock-api/clone-server.json +29 -0
  158. data/test/mock-api/create-fp.json +26 -0
  159. data/test/mock-api/create-image.json +30 -0
  160. data/test/mock-api/create-lb.json +33 -0
  161. data/test/mock-api/create-mp.json +81 -0
  162. data/test/mock-api/create-pn.json +11 -0
  163. data/test/mock-api/create-public-ip.json +10 -0
  164. data/test/mock-api/create-server.json +34 -0
  165. data/test/mock-api/create-snapshot.json +74 -0
  166. data/test/mock-api/create-storage.json +13 -0
  167. data/test/mock-api/create-user.json +14 -0
  168. data/test/mock-api/delete-fp.json +26 -0
  169. data/test/mock-api/delete-image.json +26 -0
  170. data/test/mock-api/delete-ip.json +15 -0
  171. data/test/mock-api/delete-lb.json +33 -0
  172. data/test/mock-api/delete-mp.json +71 -0
  173. data/test/mock-api/delete-pn.json +11 -0
  174. data/test/mock-api/delete-public-ip.json +10 -0
  175. data/test/mock-api/delete-rule-fp.json +26 -0
  176. data/test/mock-api/delete-server.json +50 -0
  177. data/test/mock-api/delete-snapshot.json +74 -0
  178. data/test/mock-api/delete-storage.json +24 -0
  179. data/test/mock-api/delete-user.json +15 -0
  180. data/test/mock-api/detach-server-lb.json +33 -0
  181. data/test/mock-api/detach-server-mp.json +65 -0
  182. data/test/mock-api/detach-server-storage.json +19 -0
  183. data/test/mock-api/edit-image.json +26 -0
  184. data/test/mock-api/eject-dvd.json +66 -0
  185. data/test/mock-api/fixed-server-flavors.json +70 -0
  186. data/test/mock-api/get-appliance.json +16 -0
  187. data/test/mock-api/get-dvd.json +9 -0
  188. data/test/mock-api/get-firewall.json +26 -0
  189. data/test/mock-api/get-fixed-server.json +17 -0
  190. data/test/mock-api/get-fp-rule.json +7 -0
  191. data/test/mock-api/get-hardware.json +13 -0
  192. data/test/mock-api/get-hdd.json +5 -0
  193. data/test/mock-api/get-image.json +26 -0
  194. data/test/mock-api/get-lb-rule.json +7 -0
  195. data/test/mock-api/get-lb-server.json +5 -0
  196. data/test/mock-api/get-load-balancer.json +33 -0
  197. data/test/mock-api/get-log.json +23 -0
  198. data/test/mock-api/get-monitoring-center.json +161 -0
  199. data/test/mock-api/get-mp-port.json +7 -0
  200. data/test/mock-api/get-mp-process.json +6 -0
  201. data/test/mock-api/get-mp-server.json +4 -0
  202. data/test/mock-api/get-mp.json +65 -0
  203. data/test/mock-api/get-pn-server.json +4 -0
  204. data/test/mock-api/get-private-network.json +20 -0
  205. data/test/mock-api/get-public-ip.json +10 -0
  206. data/test/mock-api/get-server-dvd.json +4 -0
  207. data/test/mock-api/get-server-image.json +4 -0
  208. data/test/mock-api/get-server-ip-fp.json +4 -0
  209. data/test/mock-api/get-server-ip.json +8 -0
  210. data/test/mock-api/get-server-pn.json +16 -0
  211. data/test/mock-api/get-server-status.json +4 -0
  212. data/test/mock-api/get-server-storage.json +5 -0
  213. data/test/mock-api/get-server.json +44 -0
  214. data/test/mock-api/get-storage.json +19 -0
  215. data/test/mock-api/get-usage.json +161 -0
  216. data/test/mock-api/get-user-api-key.json +3 -0
  217. data/test/mock-api/get-user-api.json +7 -0
  218. data/test/mock-api/get-user.json +15 -0
  219. data/test/mock-api/list-appliances.json +66 -0
  220. data/test/mock-api/list-credentials.json +5 -0
  221. data/test/mock-api/list-dvds.json +128 -0
  222. data/test/mock-api/list-firewalls.json +54 -0
  223. data/test/mock-api/list-fp-rules.json +16 -0
  224. data/test/mock-api/list-hdds.json +7 -0
  225. data/test/mock-api/list-images.json +54 -0
  226. data/test/mock-api/list-lb-rules.json +16 -0
  227. data/test/mock-api/list-lb-servers.json +12 -0
  228. data/test/mock-api/list-load-balancers.json +68 -0
  229. data/test/mock-api/list-logs.json +49 -0
  230. data/test/mock-api/list-monitoring-center-usages.json +90 -0
  231. data/test/mock-api/list-mp-ports.json +16 -0
  232. data/test/mock-api/list-mp-processes.json +14 -0
  233. data/test/mock-api/list-mp-servers.json +10 -0
  234. data/test/mock-api/list-mps.json +152 -0
  235. data/test/mock-api/list-pn-servers.json +10 -0
  236. data/test/mock-api/list-private-networks.json +24 -0
  237. data/test/mock-api/list-public-ips.json +44 -0
  238. data/test/mock-api/list-server-fps.json +4 -0
  239. data/test/mock-api/list-server-ips-fp.json +7 -0
  240. data/test/mock-api/list-server-ips.json +10 -0
  241. data/test/mock-api/list-server-lbs.json +6 -0
  242. data/test/mock-api/list-server-pns.json +6 -0
  243. data/test/mock-api/list-servers.json +66 -0
  244. data/test/mock-api/list-snapshots.json +7 -0
  245. data/test/mock-api/list-storages.json +47 -0
  246. data/test/mock-api/list-usages.json +144 -0
  247. data/test/mock-api/list-user-ips.json +5 -0
  248. data/test/mock-api/list-users.json +31 -0
  249. data/test/mock-api/load-dvd.json +63 -0
  250. data/test/mock-api/modify-fp.json +26 -0
  251. data/test/mock-api/modify-lb.json +33 -0
  252. data/test/mock-api/modify-mp.json +81 -0
  253. data/test/mock-api/modify-pn.json +20 -0
  254. data/test/mock-api/modify-port-mp.json +81 -0
  255. data/test/mock-api/modify-process-mp.json +73 -0
  256. data/test/mock-api/modify-public-ip.json +10 -0
  257. data/test/mock-api/modify-server-hardware.json +44 -0
  258. data/test/mock-api/modify-server-hdd.json +54 -0
  259. data/test/mock-api/modify-server.json +44 -0
  260. data/test/mock-api/modify-storage.json +19 -0
  261. data/test/mock-api/modify-user-api.json +15 -0
  262. data/test/mock-api/modify-user.json +15 -0
  263. data/test/mock-api/reinstall-image.json +52 -0
  264. data/test/mock-api/remove-firewall-policy.json +26 -0
  265. data/test/mock-api/remove-hdd.json +54 -0
  266. data/test/mock-api/remove-ip-fp.json +26 -0
  267. data/test/mock-api/remove-lb.json +66 -0
  268. data/test/mock-api/remove-pn.json +71 -0
  269. data/test/mock-api/remove-port-mp.json +73 -0
  270. data/test/mock-api/remove-process-mp.json +66 -0
  271. data/test/mock-api/remove-rule-lb.json +33 -0
  272. data/test/mock-api/remove-server-ip.json +58 -0
  273. data/test/mock-api/remove-server-pn.json +16 -0
  274. data/test/mock-api/restore-snapshot.json +55 -0
  275. data/test/mock-api/storage-servers.json +12 -0
  276. data/test/test_mock_dvd.rb +55 -0
  277. data/test/test_mock_firewall.rb +309 -0
  278. data/test/test_mock_image.rb +123 -0
  279. data/test/test_mock_load_balancer.rb +312 -0
  280. data/test/test_mock_log.rb +55 -0
  281. data/test/test_mock_monitoring_center.rb +55 -0
  282. data/test/test_mock_monitoring_policy.rb +587 -0
  283. data/test/test_mock_private_network.rb +206 -0
  284. data/test/test_mock_public_ip.rb +118 -0
  285. data/test/test_mock_server.rb +929 -0
  286. data/test/test_mock_server_appliance.rb +55 -0
  287. data/test/test_mock_shared_storage.rb +256 -0
  288. data/test/test_mock_usage.rb +34 -0
  289. data/test/test_mock_user.rb +270 -0
  290. metadata +360 -0
@@ -0,0 +1,160 @@
1
+ Shared Storages
2
+ *****************
3
+
4
+ .. rb:class:: OneAndOne::SharedStorage()
5
+
6
+ The :rb:class:`SharedStorage` class allows a user to perform actions against the 1and1 API.
7
+
8
+
9
+ .. rb:method:: list(page: nil, per_page: nil, sort: nil, q: nil, fields: nil)
10
+
11
+ Return a list of all shared storages.
12
+
13
+ :param page: Allows the use of pagination. Indicate which page to start on.
14
+ :type page: ``int``
15
+
16
+ :param per_page: Number of items per page.
17
+ :type per_page: ``int``
18
+
19
+ :param sort: ``sort: 'name'`` retrieves a list of elements sorted
20
+ alphabetically. ``sort: 'creation_date'`` retrieves a list of elements
21
+ sorted by their creation date in descending order.
22
+ :type sort: ``str``
23
+
24
+ :param q: ``q`` is for query. Use this parameter to return only the items
25
+ that match your search query.
26
+ :type q: ``str``
27
+
28
+ :param fields: Returns only the parameters requested.
29
+ (i.e. fields: 'id, name, description, hardware.ram')
30
+ :type fields: ``str``
31
+
32
+ :rtype: JSON
33
+
34
+
35
+ .. rb:method:: create(name: nil, description: nil, size: nil)
36
+
37
+ Create a shared storage.
38
+
39
+ :param name: shared storage name.
40
+ :type name: ``str``
41
+
42
+ :param description: shared storage description.
43
+ :type description: ``str``
44
+
45
+ :param size: shared storage size.
46
+ :type size: ``int``
47
+
48
+ :rtype: JSON
49
+
50
+
51
+ .. rb:method:: get(shared_storage_id: @id)
52
+
53
+ Returns a shared storage's current specs.
54
+
55
+ :param shared_storage_id: the unique identifier for the shared storage.
56
+ :type shared_storage_id: ``str``
57
+
58
+ :rtype: JSON
59
+
60
+
61
+ .. rb:method:: modify(shared_storage_id: @id, name: nil, description: nil, size: nil)
62
+
63
+ Modify a shared storage.
64
+
65
+ :param shared_storage_id: the unique identifier for the shared storage.
66
+ :type shared_storage_id: ``str``
67
+
68
+ :param name: shared storage name.
69
+ :type name: ``str``
70
+
71
+ :param description: shared storage description.
72
+ :type description: ``str``
73
+
74
+ :param size: shared storage size. Must be a multiple of ``50``.
75
+ :type size: ``int``
76
+
77
+ :rtype: JSON
78
+
79
+
80
+ .. rb:method:: delete(shared_storage_id: @id)
81
+
82
+ Delete a shared storage.
83
+
84
+ :param shared_storage_id: the unique identifier for the shared storage.
85
+ :type shared_storage_id: ``str``
86
+
87
+ :rtype: JSON
88
+
89
+
90
+ .. rb:method:: add_servers(shared_storage_id: @id, servers: nil)
91
+
92
+ Add servers to a shared storage.
93
+
94
+ :param shared_storage_id: the unique identifier for the shared storage.
95
+ :type shared_storage_id: ``str``
96
+
97
+ :param servers: an array of server hashes.
98
+ :type servers: ``array``
99
+
100
+ :rtype: JSON
101
+
102
+
103
+ .. rb:method:: servers(shared_storage_id: @id)
104
+
105
+ List a shared storage's servers.
106
+
107
+ :param shared_storage_id: the unique identifier for the shared storage.
108
+ :type shared_storage_id: ``str``
109
+
110
+ :rtype: JSON
111
+
112
+
113
+ .. rb:method:: server(shared_storage_id: @id, server_id: nil)
114
+
115
+ Returns information about a shared storage's server.
116
+
117
+ :param shared_storage_id: the unique identifier for the shared storage.
118
+ :type shared_storage_id: ``str``
119
+
120
+ :param server_id: the unique identifier for the server.
121
+ :type server_id: ``str``
122
+
123
+ :rtype: JSON
124
+
125
+
126
+ .. rb:method:: remove_server(shared_storage_id: @id, server_id: nil)
127
+
128
+ Remove a server from a shared storage.
129
+
130
+ :param shared_storage_id: the unique identifier for the shared storage.
131
+ :type shared_storage_id: ``str``
132
+
133
+ :param server_id: the unique identifier for the server.
134
+ :type server_id: ``str``
135
+
136
+ :rtype: JSON
137
+
138
+
139
+ .. rb:method:: access()
140
+
141
+ Retrieve the credentials for accessing shared storages.
142
+
143
+ :rtype: JSON
144
+
145
+
146
+ .. rb:method:: change_password(password: nil)
147
+
148
+ Change the password for accessing shared storages.
149
+
150
+ :param password: new shared storage password.
151
+ :type password: ``str``
152
+
153
+ :rtype: JSON
154
+
155
+
156
+ .. rb:method:: wait_for()
157
+
158
+ Polls the shared storage until an "ACTIVE" state is returned. Use this when chaining actions.
159
+
160
+ :rtype: ``nil``
@@ -0,0 +1,45 @@
1
+ Usages
2
+ *****************
3
+
4
+ .. rb:class:: OneAndOne::Usage()
5
+
6
+ The :rb:class:`Usage` class allows a user to perform actions against the 1and1 API.
7
+
8
+
9
+ .. rb:method:: list(page: nil, per_page: nil, sort: nil, q: nil, fields: nil, period: 'LAST_24H', start_date: nil, end_date: nil)
10
+
11
+ List all usages by time period.
12
+
13
+ :param page: Allows the use of pagination. Indicate which page to start on.
14
+ :type page: ``int``
15
+
16
+ :param per_page: Number of items per page.
17
+ :type per_page: ``int``
18
+
19
+ :param sort: ``sort: 'name'`` retrieves a list of elements sorted
20
+ alphabetically. ``sort: 'creation_date'`` retrieves a list of elements
21
+ sorted by their creation date in descending order.
22
+ :type sort: ``str``
23
+
24
+ :param q: ``q`` is for query. Use this parameter to return only the items
25
+ that match your search query.
26
+ :type q: ``str``
27
+
28
+ :param fields: Returns only the parameters requested.
29
+ (i.e. fields: 'id, name, description, hardware.ram')
30
+ :type fields: ``str``
31
+
32
+ :param period: the time range of logs to be shown. Possible values are
33
+ ``'LAST_HOUR'``, ``'LAST_24H'``, ``'LAST_7D'``, ``'LAST_30D'``,
34
+ ``'LAST_365D'``, or ``'CUSTOM'``
35
+ :type period: ``str``
36
+
37
+ :param start_date: start point. Only required if using ``'CUSTOM'`` for the
38
+ ``period`` parameter. *Format:* ``2015-19-05T00:05:00Z``
39
+ :type start_date: ``str``
40
+
41
+ :param end_date: end point. Only required if using ``'CUSTOM'`` for the
42
+ ``period`` parameter. *Format:* ``2015-19-05T00:10:00Z``
43
+ :type end_date: ``str``
44
+
45
+ :rtype: JSON
@@ -0,0 +1,172 @@
1
+ Users
2
+ *****************
3
+
4
+ .. rb:class:: OneAndOne::User()
5
+
6
+ The :rb:class:`User` class allows a user to perform actions against the 1and1 API.
7
+
8
+
9
+ .. rb:method:: list(page: nil, per_page: nil, sort: nil, q: nil, fields: nil)
10
+
11
+ List all users on your account.
12
+
13
+ :param page: Allows the use of pagination. Indicate which page to start on.
14
+ :type page: ``int``
15
+
16
+ :param per_page: Number of items per page.
17
+ :type per_page: ``int``
18
+
19
+ :param sort: ``sort: 'name'`` retrieves a list of elements sorted
20
+ alphabetically. ``sort: 'creation_date'`` retrieves a list of elements
21
+ sorted by their creation date in descending order.
22
+ :type sort: ``str``
23
+
24
+ :param q: ``q`` is for query. Use this parameter to return only the items
25
+ that match your search query.
26
+ :type q: ``str``
27
+
28
+ :param fields: Returns only the parameters requested.
29
+ (i.e. fields: 'id, name, description, hardware.ram')
30
+ :type fields: ``str``
31
+
32
+ :rtype: JSON
33
+
34
+
35
+ .. rb:method:: create(name: nil, description: nil, password: nil, email: nil)
36
+
37
+ Create a new user account.
38
+
39
+ :param name: user name.
40
+ :type name: ``str``
41
+
42
+ :param description: user description.
43
+ :type description: ``str``
44
+
45
+ :param password: user password.
46
+ :type password: ``str``
47
+
48
+ :param email: user email.
49
+ :type email: ``str``
50
+
51
+ :rtype: JSON
52
+
53
+
54
+ .. rb:method:: get(user_id: @id)
55
+
56
+ Returns a user account's current specs.
57
+
58
+ :param user_id: the unique identifier for the user.
59
+ :type user_id: ``str``
60
+
61
+ :rtype: JSON
62
+
63
+
64
+ .. rb:method:: modify(user_id: @id, description: nil, password: nil, email: nil, state: nil)
65
+
66
+ Modify a user account.
67
+
68
+ :param user_id: the unique identifier for the user.
69
+ :type user_id: ``str``
70
+
71
+ :param password: user password.
72
+ :type password: ``str``
73
+
74
+ :param email: user email.
75
+ :type email: ``str``
76
+
77
+ :param description: user description.
78
+ :type description: ``str``
79
+
80
+ :param state: allows you to enable and disable users. Possible values are ``"ACTIVE"`` or ``"DISABLE"``.
81
+ :type state: ``str``
82
+
83
+ :rtype: JSON
84
+
85
+
86
+ .. rb:method:: delete(user_id: @id)
87
+
88
+ Delete a user account.
89
+
90
+ :param user_id: the unique identifier for the user.
91
+ :type user_id: ``str``
92
+
93
+ :rtype: JSON
94
+
95
+
96
+ .. rb:method:: api(user_id: @id)
97
+
98
+ Return a user's API access credentials.
99
+
100
+ :param user_id: the unique identifier for the user.
101
+ :type user_id: ``str``
102
+
103
+ :rtype: JSON
104
+
105
+
106
+ .. rb:method:: enable_api(user_id: @id, active: nil)
107
+
108
+ Enable or disable a user's API access.
109
+
110
+ :param user_id: the unique identifier for the user.
111
+ :type user_id: ``str``
112
+
113
+ :param active: API access.
114
+ :type active: ``bool``
115
+
116
+ :rtype: JSON
117
+
118
+
119
+ .. rb:method:: api_key(user_id: @id)
120
+
121
+ Return a user's API key.
122
+
123
+ :param user_id: the unique identifier for the user.
124
+ :type user_id: ``str``
125
+
126
+ :rtype: JSON
127
+
128
+
129
+ .. rb:method:: change_key(user_id: @id)
130
+
131
+ Change a user's API key.
132
+
133
+ :param user_id: the unique identifier for the user.
134
+ :type user_id: ``str``
135
+
136
+ :rtype: JSON
137
+
138
+
139
+ .. rb:method:: ips(user_id: @id)
140
+
141
+ List the IP's from which a user can access the API.
142
+
143
+ :param user_id: the unique identifier for the user.
144
+ :type user_id: ``str``
145
+
146
+ :rtype: JSON
147
+
148
+
149
+ .. rb:method:: add_ips(user_id: @id, ips: nil)
150
+
151
+ Add IP's from which a user can access the API.
152
+
153
+ :param user_id: the unique identifier for the user.
154
+ :type user_id: ``str``
155
+
156
+ :param ips: an array containing at least one IP string.
157
+ :type ips: ``array``
158
+
159
+ :rtype: JSON
160
+
161
+
162
+ .. rb:method:: remove_ip(user_id: @id, ip: nil)
163
+
164
+ Remove API access for an IP.
165
+
166
+ :param user_id: the unique identifier for the user.
167
+ :type user_id: ``str``
168
+
169
+ :param ip: IP to be removed.
170
+ :type ip: ``str``
171
+
172
+ :rtype: JSON
@@ -0,0 +1,66 @@
1
+ {
2
+ "id": "92AA60BEC8333A21EDB9EAAA61852860",
3
+ "cloudpanel_id": "5061DE9",
4
+ "name": "My server",
5
+ "description": null,
6
+ "creation_date": "2015-05-06T11:09:55+00:00",
7
+ "first_password": null,
8
+ "status": {
9
+ "state": "POWERED_ON",
10
+ "percent": null
11
+ },
12
+ "hardware": {
13
+ "fixed_instance_size_id": 0,
14
+ "vcore": 1,
15
+ "cores_per_processor": 1,
16
+ "ram": 1,
17
+ "hdds": [
18
+ {
19
+ "id": "77F5BC74C9B3532A37D31FEED070BE01",
20
+ "size": 40,
21
+ "is_main": true
22
+ }
23
+ ]
24
+ },
25
+ "image": {
26
+ "id": "07C170D67C8EC776933FCFF1C299C1C5",
27
+ "name": "w2012r2datacenter64min"
28
+ },
29
+ "dvd": {
30
+ "id": "05F2EF8C89A12782B7DBE445256BD7A5",
31
+ "name": "centos7-64iso"
32
+ },
33
+ "snapshot": null,
34
+ "ips": [
35
+ {
36
+ "id": "696469547988D3945B3FE59DFCB93C90",
37
+ "ip": "10.4.141.161",
38
+ "type": "IPV4",
39
+ "reverse_dns": null,
40
+ "firewall_policy": {
41
+ "id": "5DE607955050915229D602931F942F32",
42
+ "name": "Linux"
43
+ },
44
+ "load_balancers": []
45
+ }
46
+ ],
47
+ "alerts": {
48
+ "critical": [
49
+ {
50
+ "type": "agent",
51
+ "description": "MONITORING_AGENT_NOT_INSTALLED",
52
+ "date": "2015-05-07 10:11:02"
53
+ },
54
+ {
55
+ "type": "internal_ping",
56
+ "description": "CRITICAL - 10.4.141.161: rta nan, lost 100%",
57
+ "date": "2015-05-07 09:59:21"
58
+ }
59
+ ]
60
+ },
61
+ "monitoring_policy": {
62
+ "id": "5DF232A92E9635249B8A4EB31C5B14F4",
63
+ "name": "My Monitoring Policy 1"
64
+ },
65
+ "private_networks": null
66
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "id": "4B86A3ACC4CEB7A89E012E49FC17F312",
3
+ "cloudpanel_id": "FE7ED7D",
4
+ "name": "My Server remame",
5
+ "description": "My server rename description",
6
+ "creation_date": "2015-05-07T08:25:37+00:00",
7
+ "first_password": "Nm4gP97xSw",
8
+ "status": {
9
+ "state": "CONFIGURING",
10
+ "percent": 10
11
+ },
12
+ "hardware": {
13
+ "fixed_instance_size_id": 0,
14
+ "vcore": 2,
15
+ "cores_per_processor": 1,
16
+ "ram": 2,
17
+ "hdds": [
18
+ {
19
+ "id": "0DDE06DFA47743DF928E76AE7DC195C1",
20
+ "size": 40,
21
+ "is_main": true
22
+ },
23
+ {
24
+ "id": "B6DAEB7FA4D0CABFD8FE878EC467CA7E",
25
+ "size": 20,
26
+ "is_main": false
27
+ }
28
+ ]
29
+ },
30
+ "image": {
31
+ "id": "07C170D67C8EC776933FCFF1C299C1C5",
32
+ "name": "w2012r2datacenter64min"
33
+ },
34
+ "dvd": null,
35
+ "snapshot": null,
36
+ "ips": [
37
+ {
38
+ "id": "D609028BC090EE05665072C721EA4A7A",
39
+ "ip": "10.4.141.43",
40
+ "type": "IPV4",
41
+ "reverse_dns": null,
42
+ "firewall_policy": null,
43
+ "load_balancers": []
44
+ }
45
+ ],
46
+ "alerts": [],
47
+ "monitoring_policy": null,
48
+ "private_networks": null
49
+ }