1and1 1.1

Sign up to get free protection for your applications and to get access to all the features.
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,114 @@
1
+
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
+
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml">
7
+ <head>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9
+
10
+ <title>Index &mdash; 1and1 Ruby SDK 1.0 documentation</title>
11
+
12
+ <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
13
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
14
+
15
+ <script type="text/javascript">
16
+ var DOCUMENTATION_OPTIONS = {
17
+ URL_ROOT: './',
18
+ VERSION: '1.0',
19
+ COLLAPSE_INDEX: false,
20
+ FILE_SUFFIX: '.html',
21
+ HAS_SOURCE: true
22
+ };
23
+ </script>
24
+ <script type="text/javascript" src="_static/jquery.js"></script>
25
+ <script type="text/javascript" src="_static/underscore.js"></script>
26
+ <script type="text/javascript" src="_static/doctools.js"></script>
27
+ <link rel="top" title="1and1 Ruby SDK 1.0 documentation" href="index.html" />
28
+
29
+
30
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9">
31
+
32
+ </head>
33
+ <body role="document">
34
+
35
+ <div class="document">
36
+ <div class="documentwrapper">
37
+ <div class="bodywrapper">
38
+ <div class="body" role="main">
39
+
40
+
41
+ <h1 id="index">Index</h1>
42
+
43
+ <div class="genindex-jumpbox">
44
+ <a href="#Symbols"><strong>Symbols</strong></a>
45
+ | <a href="#O"><strong>O</strong></a>
46
+
47
+ </div>
48
+ <h2 id="Symbols">Symbols</h2>
49
+ <table style="width: 100%" class="indextable genindextable"><tr>
50
+ <td style="width: 33%" valign="top"><dl>
51
+
52
+ <dt><a href="shared_storages.html#access"><strong>() ( method)</strong></a>, <a href="servers.html#add_firewall"><strong>[1]</strong></a>, <a href="servers.html#add_hdds"><strong>[2]</strong></a>, <a href="servers.html#add_ip"><strong>[3]</strong></a>, <a href="firewalls.html#add_ips"><strong>[4]</strong></a>, <a href="load_balancers.html#add_ips"><strong>[5]</strong></a>, <a href="users.html#add_ips"><strong>[6]</strong></a>, <a href="servers.html#add_load_balancer"><strong>[7]</strong></a>, <a href="monitoring_policies.html#add_ports"><strong>[8]</strong></a>, <a href="servers.html#add_private_network"><strong>[9]</strong></a>, <a href="monitoring_policies.html#add_processes"><strong>[10]</strong></a>, <a href="firewalls.html#add_rules"><strong>[11]</strong></a>, <a href="load_balancers.html#add_rules"><strong>[12]</strong></a>, <a href="monitoring_policies.html#add_servers"><strong>[13]</strong></a>, <a href="private_networks.html#add_servers"><strong>[14]</strong></a>, <a href="shared_storages.html#add_servers"><strong>[15]</strong></a>, <a href="users.html#api"><strong>[16]</strong></a>, <a href="users.html#api_key"><strong>[17]</strong></a>, <a href="users.html#change_key"><strong>[18]</strong></a>, <a href="shared_storages.html#change_password"><strong>[19]</strong></a>, <a href="servers.html#change_status"><strong>[20]</strong></a>, <a href="servers.html#clone"><strong>[21]</strong></a>, <a href="firewalls.html#create"><strong>[22]</strong></a>, <a href="images.html#create"><strong>[23]</strong></a>, <a href="load_balancers.html#create"><strong>[24]</strong></a>, <a href="monitoring_policies.html#create"><strong>[25]</strong></a>, <a href="private_networks.html#create"><strong>[26]</strong></a>, <a href="public_ips.html#create"><strong>[27]</strong></a>, <a href="servers.html#create"><strong>[28]</strong></a>, <a href="shared_storages.html#create"><strong>[29]</strong></a>, <a href="users.html#create"><strong>[30]</strong></a>, <a href="servers.html#create_snapshot"><strong>[31]</strong></a>, <a href="firewalls.html#delete"><strong>[32]</strong></a>, <a href="images.html#delete"><strong>[33]</strong></a>, <a href="load_balancers.html#delete"><strong>[34]</strong></a>, <a href="monitoring_policies.html#delete"><strong>[35]</strong></a>, <a href="private_networks.html#delete"><strong>[36]</strong></a>, <a href="public_ips.html#delete"><strong>[37]</strong></a>, <a href="servers.html#delete"><strong>[38]</strong></a>, <a href="shared_storages.html#delete"><strong>[39]</strong></a>, <a href="users.html#delete"><strong>[40]</strong></a>, <a href="servers.html#delete_hdd"><strong>[41]</strong></a>, <a href="monitoring_policies.html#delete_port"><strong>[42]</strong></a>, <a href="monitoring_policies.html#delete_process"><strong>[43]</strong></a>, <a href="servers.html#delete_snapshot"><strong>[44]</strong></a>, <a href="servers.html#dvd"><strong>[45]</strong></a>, <a href="servers.html#eject_dvd"><strong>[46]</strong></a>, <a href="users.html#enable_api"><strong>[47]</strong></a>, <a href="servers.html#firewall"><strong>[48]</strong></a>, <a href="dvds.html#get"><strong>[49]</strong></a>, <a href="firewalls.html#get"><strong>[50]</strong></a>, <a href="images.html#get"><strong>[51]</strong></a>, <a href="load_balancers.html#get"><strong>[52]</strong></a>, <a href="logs.html#get"><strong>[53]</strong></a>, <a href="monitoring_center.html#get"><strong>[54]</strong></a>, <a href="monitoring_policies.html#get"><strong>[55]</strong></a>, <a href="private_networks.html#get"><strong>[56]</strong></a>, <a href="public_ips.html#get"><strong>[57]</strong></a>, <a href="server_appliances.html#get"><strong>[58]</strong></a>, <a href="servers.html#get"><strong>[59]</strong></a>, <a href="shared_storages.html#get"><strong>[60]</strong></a>, <a href="users.html#get"><strong>[61]</strong></a>, <a href="servers.html#get_fixed"><strong>[62]</strong></a>, <a href="servers.html#get_hdd"><strong>[63]</strong></a>, <a href="servers.html#hardware"><strong>[64]</strong></a>, <a href="servers.html#hdds"><strong>[65]</strong></a>, <a href="servers.html#image"><strong>[66]</strong></a>, <a href="servers.html#install_image"><strong>[67]</strong></a>, <a href="firewalls.html#ip"><strong>[68]</strong></a>, <a href="load_balancers.html#ip"><strong>[69]</strong></a>, <a href="servers.html#ip"><strong>[70]</strong></a>, <a href="firewalls.html#ips"><strong>[71]</strong></a>, <a href="load_balancers.html#ips"><strong>[72]</strong></a>, <a href="servers.html#ips"><strong>[73]</strong></a>, <a href="users.html#ips"><strong>[74]</strong></a>, <a href="dvds.html#list"><strong>[75]</strong></a>, <a href="firewalls.html#list"><strong>[76]</strong></a>, <a href="images.html#list"><strong>[77]</strong></a>, <a href="load_balancers.html#list"><strong>[78]</strong></a>, <a href="logs.html#list"><strong>[79]</strong></a>, <a href="monitoring_center.html#list"><strong>[80]</strong></a>, <a href="monitoring_policies.html#list"><strong>[81]</strong></a>, <a href="private_networks.html#list"><strong>[82]</strong></a>, <a href="public_ips.html#list"><strong>[83]</strong></a>, <a href="server_appliances.html#list"><strong>[84]</strong></a>, <a href="servers.html#list"><strong>[85]</strong></a>, <a href="shared_storages.html#list"><strong>[86]</strong></a>, <a href="usages.html#list"><strong>[87]</strong></a>, <a href="users.html#list"><strong>[88]</strong></a>, <a href="servers.html#list_fixed"><strong>[89]</strong></a>, <a href="servers.html#load_balancers"><strong>[90]</strong></a>, <a href="servers.html#load_dvd"><strong>[91]</strong></a>, <a href="firewalls.html#modify"><strong>[92]</strong></a>, <a href="images.html#modify"><strong>[93]</strong></a>, <a href="load_balancers.html#modify"><strong>[94]</strong></a>, <a href="monitoring_policies.html#modify"><strong>[95]</strong></a>, <a href="private_networks.html#modify"><strong>[96]</strong></a>, <a href="public_ips.html#modify"><strong>[97]</strong></a>, <a href="servers.html#modify"><strong>[98]</strong></a>, <a href="shared_storages.html#modify"><strong>[99]</strong></a>, <a href="users.html#modify"><strong>[100]</strong></a>, <a href="servers.html#modify_hardware"><strong>[101]</strong></a>, <a href="servers.html#modify_hdd"><strong>[102]</strong></a>, <a href="monitoring_policies.html#modify_port"><strong>[103]</strong></a>, <a href="monitoring_policies.html#modify_process"><strong>[104]</strong></a>, <a href="monitoring_policies.html#port"><strong>[105]</strong></a>, <a href="monitoring_policies.html#ports"><strong>[106]</strong></a>, <a href="servers.html#private_network"><strong>[107]</strong></a>, <a href="servers.html#private_networks"><strong>[108]</strong></a>, <a href="monitoring_policies.html#process"><strong>[109]</strong></a>, <a href="monitoring_policies.html#processes"><strong>[110]</strong></a>, <a href="servers.html#release_ip"><strong>[111]</strong></a>, <a href="servers.html#remove_firewall"><strong>[112]</strong></a>, <a href="firewalls.html#remove_ip"><strong>[113]</strong></a>, <a href="load_balancers.html#remove_ip"><strong>[114]</strong></a>, <a href="users.html#remove_ip"><strong>[115]</strong></a>, <a href="servers.html#remove_load_balancer"><strong>[116]</strong></a>, <a href="servers.html#remove_private_network"><strong>[117]</strong></a>, <a href="firewalls.html#remove_rule"><strong>[118]</strong></a>, <a href="load_balancers.html#remove_rule"><strong>[119]</strong></a>, <a href="monitoring_policies.html#remove_server"><strong>[120]</strong></a>, <a href="private_networks.html#remove_server"><strong>[121]</strong></a>, <a href="shared_storages.html#remove_server"><strong>[122]</strong></a>, <a href="servers.html#restore_snapshot"><strong>[123]</strong></a>, <a href="firewalls.html#rule"><strong>[124]</strong></a>, <a href="load_balancers.html#rule"><strong>[125]</strong></a>, <a href="firewalls.html#rules"><strong>[126]</strong></a>, <a href="load_balancers.html#rules"><strong>[127]</strong></a>, <a href="monitoring_policies.html#server"><strong>[128]</strong></a>, <a href="private_networks.html#server"><strong>[129]</strong></a>, <a href="shared_storages.html#server"><strong>[130]</strong></a>, <a href="monitoring_policies.html#servers"><strong>[131]</strong></a>, <a href="private_networks.html#servers"><strong>[132]</strong></a>, <a href="shared_storages.html#servers"><strong>[133]</strong></a>, <a href="servers.html#snapshot"><strong>[134]</strong></a>, <a href="servers.html#status"><strong>[135]</strong></a>, <a href="firewalls.html#wait_for"><strong>[136]</strong></a>, <a href="images.html#wait_for"><strong>[137]</strong></a>, <a href="load_balancers.html#wait_for"><strong>[138]</strong></a>, <a href="monitoring_policies.html#wait_for"><strong>[139]</strong></a>, <a href="private_networks.html#wait_for"><strong>[140]</strong></a>, <a href="servers.html#wait_for"><strong>[141]</strong></a>, <a href="shared_storages.html#wait_for"><strong>[142]</strong></a>
53
+ </dt>
54
+
55
+ </dl></td>
56
+ </tr></table>
57
+
58
+ <h2 id="O">O</h2>
59
+ <table style="width: 100%" class="indextable genindextable"><tr>
60
+ <td style="width: 33%" valign="top"><dl>
61
+
62
+ <dt><a href="index.html#module-OneAndOne"><strong>OneAndOne (module)</strong></a>
63
+ </dt>
64
+
65
+ </dl></td>
66
+ </tr></table>
67
+
68
+
69
+
70
+ </div>
71
+ </div>
72
+ </div>
73
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
74
+ <div class="sphinxsidebarwrapper">
75
+
76
+ <div class="relations">
77
+ <h3>Related Topics</h3>
78
+ <ul>
79
+ <li><a href="index.html">Documentation overview</a><ul>
80
+ </ul></li>
81
+ </ul>
82
+ </div>
83
+
84
+ <div id="searchbox" style="display: none" role="search">
85
+ <h3>Quick search</h3>
86
+ <form class="search" action="search.html" method="get">
87
+ <input type="text" name="q" />
88
+ <input type="submit" value="Go" />
89
+ <input type="hidden" name="check_keywords" value="yes" />
90
+ <input type="hidden" name="area" value="default" />
91
+ </form>
92
+ <p class="searchtip" style="font-size: 90%">
93
+ Enter search terms or a module, class or function name.
94
+ </p>
95
+ </div>
96
+ <script type="text/javascript">$('#searchbox').show(0);</script>
97
+ </div>
98
+ </div>
99
+ <div class="clearer"></div>
100
+ </div>
101
+ <div class="footer">
102
+ &copy;2016, StackPointCloud, Inc..
103
+
104
+ |
105
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 1.3.3</a>
106
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.6</a>
107
+
108
+ </div>
109
+
110
+
111
+
112
+
113
+ </body>
114
+ </html>
@@ -0,0 +1,236 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+
4
+
5
+ <html xmlns="http://www.w3.org/1999/xhtml">
6
+ <head>
7
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
+
9
+ <title>Images &mdash; 1and1 Ruby SDK 1.0 documentation</title>
10
+
11
+ <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
12
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
13
+
14
+ <script type="text/javascript">
15
+ var DOCUMENTATION_OPTIONS = {
16
+ URL_ROOT: './',
17
+ VERSION: '1.0',
18
+ COLLAPSE_INDEX: false,
19
+ FILE_SUFFIX: '.html',
20
+ HAS_SOURCE: true
21
+ };
22
+ </script>
23
+ <script type="text/javascript" src="_static/jquery.js"></script>
24
+ <script type="text/javascript" src="_static/underscore.js"></script>
25
+ <script type="text/javascript" src="_static/doctools.js"></script>
26
+ <link rel="top" title="1and1 Ruby SDK 1.0 documentation" href="index.html" />
27
+ <link rel="next" title="Shared Storages" href="shared_storages.html" />
28
+ <link rel="prev" title="Servers" href="servers.html" />
29
+
30
+
31
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9">
32
+
33
+ </head>
34
+ <body role="document">
35
+
36
+ <div class="document">
37
+ <div class="documentwrapper">
38
+ <div class="bodywrapper">
39
+ <div class="body" role="main">
40
+
41
+ <div class="section" id="images">
42
+ <h1>Images<a class="headerlink" href="#images" title="Permalink to this headline">¶</a></h1>
43
+ <dl class="class">
44
+ <dt>
45
+ <code class="descname">OneAndOne::Image()</code></dt>
46
+ <dd><p>The <code class="xref rb rb-class docutils literal"><span class="pre">Image</span></code> class allows a user to perform actions against the 1and1 API.</p>
47
+ <blockquote>
48
+ <div><dl class="method">
49
+ <dt id="create">
50
+ <code class="descname">create</code><span class="sig-paren">(</span><em>server_id: nil</em>, <em>name: nil</em>, <em>description: nil</em>, <em>frequency: nil</em>, <em>num_images: nil</em><span class="sig-paren">)</span><a class="headerlink" href="#create" title="Permalink to this definition">¶</a></dt>
51
+ <dd><p>Create a new image.</p>
52
+ <table class="docutils field-list" frame="void" rules="none">
53
+ <col class="field-name" />
54
+ <col class="field-body" />
55
+ <tbody valign="top">
56
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
57
+ <li><strong>server_id</strong> (<code class="docutils literal"><span class="pre">str</span></code>) &#8211; the ID of the server to be copied.</li>
58
+ <li><strong>name</strong> (<code class="docutils literal"><span class="pre">str</span></code>) &#8211; image name.</li>
59
+ <li><strong>description</strong> (<code class="docutils literal"><span class="pre">str</span></code>) &#8211; image description.</li>
60
+ <li><strong>frequency</strong> (<code class="docutils literal"><span class="pre">str</span></code>) &#8211; image creation policy. Possible values are <code class="docutils literal"><span class="pre">'ONCE'</span></code>, <code class="docutils literal"><span class="pre">'DAILY'</span></code>, and <code class="docutils literal"><span class="pre">'WEEKLY'</span></code>.</li>
61
+ <li><strong>num_images</strong> (<code class="docutils literal"><span class="pre">int</span></code>) &#8211; the number of images to create.</li>
62
+ </ul>
63
+ </td>
64
+ </tr>
65
+ <tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">JSON</p>
66
+ </td>
67
+ </tr>
68
+ </tbody>
69
+ </table>
70
+ </dd></dl>
71
+
72
+ <dl class="method">
73
+ <dt id="modify">
74
+ <code class="descname">modify</code><span class="sig-paren">(</span><em>image_id: &#64;id</em>, <em>name: nil</em>, <em>description: nil</em>, <em>frequency: nil</em><span class="sig-paren">)</span><a class="headerlink" href="#modify" title="Permalink to this definition">¶</a></dt>
75
+ <dd><p>Modify an image.</p>
76
+ <table class="docutils field-list" frame="void" rules="none">
77
+ <col class="field-name" />
78
+ <col class="field-body" />
79
+ <tbody valign="top">
80
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
81
+ <li><strong>image_id</strong> (<code class="docutils literal"><span class="pre">str</span></code>) &#8211; the unique identifier for the image.</li>
82
+ <li><strong>name</strong> (<code class="docutils literal"><span class="pre">str</span></code>) &#8211; image name.</li>
83
+ <li><strong>description</strong> (<code class="docutils literal"><span class="pre">str</span></code>) &#8211; image description.</li>
84
+ <li><strong>frequency</strong> (<code class="docutils literal"><span class="pre">str</span></code>) &#8211; can only be changed to <code class="docutils literal"><span class="pre">'ONCE'</span></code></li>
85
+ </ul>
86
+ </td>
87
+ </tr>
88
+ <tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">JSON</p>
89
+ </td>
90
+ </tr>
91
+ </tbody>
92
+ </table>
93
+ </dd></dl>
94
+
95
+ <dl class="method">
96
+ <dt id="delete">
97
+ <code class="descname">delete</code><span class="sig-paren">(</span><em>image_id: &#64;id</em><span class="sig-paren">)</span><a class="headerlink" href="#delete" title="Permalink to this definition">¶</a></dt>
98
+ <dd><p>Delete an image.</p>
99
+ <table class="docutils field-list" frame="void" rules="none">
100
+ <col class="field-name" />
101
+ <col class="field-body" />
102
+ <tbody valign="top">
103
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
104
+ <li><strong>image_id</strong> (<code class="docutils literal"><span class="pre">str</span></code>) &#8211; the unique identifier for the image.</li>
105
+ </ul>
106
+ </td>
107
+ </tr>
108
+ <tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">JSON</p>
109
+ </td>
110
+ </tr>
111
+ </tbody>
112
+ </table>
113
+ </dd></dl>
114
+
115
+ <dl class="method">
116
+ <dt id="get">
117
+ <code class="descname">get</code><span class="sig-paren">(</span><em>image_id: &#64;id</em><span class="sig-paren">)</span><a class="headerlink" href="#get" title="Permalink to this definition">¶</a></dt>
118
+ <dd><p>Retrieve an image&#8217;s current specs.</p>
119
+ <table class="docutils field-list" frame="void" rules="none">
120
+ <col class="field-name" />
121
+ <col class="field-body" />
122
+ <tbody valign="top">
123
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
124
+ <li><strong>image_id</strong> (<code class="docutils literal"><span class="pre">str</span></code>) &#8211; the unique identifier for the image.</li>
125
+ </ul>
126
+ </td>
127
+ </tr>
128
+ <tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">JSON</p>
129
+ </td>
130
+ </tr>
131
+ </tbody>
132
+ </table>
133
+ </dd></dl>
134
+
135
+ <dl class="method">
136
+ <dt id="list">
137
+ <code class="descname">list</code><span class="sig-paren">(</span><em>page: nil</em>, <em>per_page: nil</em>, <em>sort: nil</em>, <em>q: nil</em>, <em>fields: nil</em><span class="sig-paren">)</span><a class="headerlink" href="#list" title="Permalink to this definition">¶</a></dt>
138
+ <dd><p>Return a list of all images.</p>
139
+ <table class="docutils field-list" frame="void" rules="none">
140
+ <col class="field-name" />
141
+ <col class="field-body" />
142
+ <tbody valign="top">
143
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
144
+ <li><strong>page</strong> (<code class="docutils literal"><span class="pre">int</span></code>) &#8211; Allows the use of pagination. Indicate which page to start on.</li>
145
+ <li><strong>per_page</strong> (<code class="docutils literal"><span class="pre">int</span></code>) &#8211; Number of items per page.</li>
146
+ <li><strong>sort</strong> (<code class="docutils literal"><span class="pre">str</span></code>) &#8211; <code class="docutils literal"><span class="pre">sort:</span> <span class="pre">'name'</span></code> retrieves a list of elements sorted
147
+ alphabetically. <code class="docutils literal"><span class="pre">sort:</span> <span class="pre">'creation_date'</span></code> retrieves a list of elements
148
+ sorted by their creation date in descending order.</li>
149
+ <li><strong>q</strong> (<code class="docutils literal"><span class="pre">str</span></code>) &#8211; <code class="docutils literal"><span class="pre">q</span></code> is for query. Use this parameter to return only the items
150
+ that match your search query.</li>
151
+ <li><strong>fields</strong> (<code class="docutils literal"><span class="pre">str</span></code>) &#8211; Returns only the parameters requested.
152
+ (i.e. fields: &#8216;id, name, description, hardware.ram&#8217;)</li>
153
+ </ul>
154
+ </td>
155
+ </tr>
156
+ <tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">JSON</p>
157
+ </td>
158
+ </tr>
159
+ </tbody>
160
+ </table>
161
+ </dd></dl>
162
+
163
+ <dl class="method">
164
+ <dt id="wait_for">
165
+ <code class="descname">wait_for</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#wait_for" title="Permalink to this definition">¶</a></dt>
166
+ <dd><p>Polls the image until an &#8220;ACTIVE&#8221; state is returned. Use this when chaining actions.</p>
167
+ <table class="docutils field-list" frame="void" rules="none">
168
+ <col class="field-name" />
169
+ <col class="field-body" />
170
+ <tbody valign="top">
171
+ <tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><code class="docutils literal"><span class="pre">nil</span></code></td>
172
+ </tr>
173
+ </tbody>
174
+ </table>
175
+ </dd></dl>
176
+
177
+ </div></blockquote>
178
+ </dd></dl>
179
+
180
+ </div>
181
+
182
+
183
+ </div>
184
+ </div>
185
+ </div>
186
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
187
+ <div class="sphinxsidebarwrapper"><div class="relations">
188
+ <h3>Related Topics</h3>
189
+ <ul>
190
+ <li><a href="index.html">Documentation overview</a><ul>
191
+ <li>Previous: <a href="servers.html" title="previous chapter">Servers</a></li>
192
+ <li>Next: <a href="shared_storages.html" title="next chapter">Shared Storages</a></li>
193
+ </ul></li>
194
+ </ul>
195
+ </div>
196
+ <div role="note" aria-label="source link">
197
+ <h3>This Page</h3>
198
+ <ul class="this-page-menu">
199
+ <li><a href="_sources/images.txt"
200
+ rel="nofollow">Show Source</a></li>
201
+ </ul>
202
+ </div>
203
+ <div id="searchbox" style="display: none" role="search">
204
+ <h3>Quick search</h3>
205
+ <form class="search" action="search.html" method="get">
206
+ <input type="text" name="q" />
207
+ <input type="submit" value="Go" />
208
+ <input type="hidden" name="check_keywords" value="yes" />
209
+ <input type="hidden" name="area" value="default" />
210
+ </form>
211
+ <p class="searchtip" style="font-size: 90%">
212
+ Enter search terms or a module, class or function name.
213
+ </p>
214
+ </div>
215
+ <script type="text/javascript">$('#searchbox').show(0);</script>
216
+ </div>
217
+ </div>
218
+ <div class="clearer"></div>
219
+ </div>
220
+ <div class="footer">
221
+ &copy;2016, StackPointCloud, Inc..
222
+
223
+ |
224
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 1.3.3</a>
225
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.6</a>
226
+
227
+ |
228
+ <a href="_sources/images.txt"
229
+ rel="nofollow">Page source</a>
230
+ </div>
231
+
232
+
233
+
234
+
235
+ </body>
236
+ </html>
@@ -0,0 +1,571 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+
4
+
5
+ <html xmlns="http://www.w3.org/1999/xhtml">
6
+ <head>
7
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
+
9
+ <title>1&amp;1’s Ruby SDK &mdash; 1and1 Ruby SDK 1.0 documentation</title>
10
+
11
+ <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
12
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
13
+
14
+ <script type="text/javascript">
15
+ var DOCUMENTATION_OPTIONS = {
16
+ URL_ROOT: './',
17
+ VERSION: '1.0',
18
+ COLLAPSE_INDEX: false,
19
+ FILE_SUFFIX: '.html',
20
+ HAS_SOURCE: true
21
+ };
22
+ </script>
23
+ <script type="text/javascript" src="_static/jquery.js"></script>
24
+ <script type="text/javascript" src="_static/underscore.js"></script>
25
+ <script type="text/javascript" src="_static/doctools.js"></script>
26
+ <link rel="top" title="1and1 Ruby SDK 1.0 documentation" href="#" />
27
+ <link rel="next" title="Servers" href="servers.html" />
28
+
29
+
30
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9">
31
+
32
+ </head>
33
+ <body role="document">
34
+
35
+ <div class="document">
36
+ <div class="documentwrapper">
37
+ <div class="bodywrapper">
38
+ <div class="body" role="main">
39
+
40
+ <div class="section" id="s-ruby-sdk">
41
+ <h1>1&amp;1&#8217;s Ruby SDK<a class="headerlink" href="#s-ruby-sdk" title="Permalink to this headline">¶</a></h1>
42
+ <p>The 1&amp;1 Ruby SDK is a Ruby gem used for interacting with the 1&amp;1
43
+ platform over the REST API.</p>
44
+ <p>This guide will show you how to programmatically use the 1&amp;1 library to perform
45
+ common management tasks also available through the 1&amp;1 Control Panel.</p>
46
+ <div class="section" id="concepts">
47
+ <h2>Concepts<a class="headerlink" href="#concepts" title="Permalink to this headline">¶</a></h2>
48
+ <p>The Ruby Client Library wraps the latest version of the 1&amp;1 REST API. All
49
+ API operations are performed over SSL and authenticated using your 1&amp;1 API Token.
50
+ The API can be accessed within an instance running in 1&amp;1 or directly over
51
+ the Internet from any application that can send an HTTPS request and receive
52
+ an HTTPS response.</p>
53
+ </div>
54
+ <div class="section" id="getting-started">
55
+ <h2>Getting Started<a class="headerlink" href="#getting-started" title="Permalink to this headline">¶</a></h2>
56
+ <p>Before you begin you will need to have signed-up for a 1&amp;1 account. The
57
+ credentials you setup during sign-up will be used to authenticate against the API.</p>
58
+ </div>
59
+ <div class="section" id="installation">
60
+ <h2>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h2>
61
+ <p>You can install the latest stable version using:</p>
62
+ <div class="highlight-python"><div class="highlight"><pre>$ gem install 1and1
63
+ </pre></div>
64
+ </div>
65
+ <p>Done!</p>
66
+ </div>
67
+ <div class="section" id="authentication">
68
+ <h2>Authentication<a class="headerlink" href="#authentication" title="Permalink to this headline">¶</a></h2>
69
+ <p>Start your application by calling the <code class="xref rb rb-func docutils literal"><span class="pre">OneAndOne.start</span></code> method
70
+ with your API Token:</p>
71
+ <div class="highlight-python"><div class="highlight"><pre>require &#39;oneandone&#39;
72
+
73
+ OneAndOne.start(&#39;&lt;API-TOKEN&gt;&#39;)
74
+ </pre></div>
75
+ </div>
76
+ <p>If you have yet to create your API Token, follow the
77
+ instructions below:</p>
78
+ <ol class="arabic simple">
79
+ <li>From the 1&amp;1 Control Panel, click Management &gt; Users.</li>
80
+ <li>In the Users section, click Create.</li>
81
+ <li>Enter the desired user name.</li>
82
+ <li>In the Password field, enter the password and repeat it.</li>
83
+ <li>Enter the desired e-mail address.</li>
84
+ <li>Click Create.</li>
85
+ <li>Select the created user</li>
86
+ <li>In the details of the User, in the API section, click on &#8220;Disabled&#8221;.</li>
87
+ <li>Click Yes.</li>
88
+ <li>Click Apply Changes.</li>
89
+ <li>In the API Key section, click Display User Information. The API Key will be displayed.</li>
90
+ </ol>
91
+ <div class="admonition note">
92
+ <p class="first admonition-title">Note</p>
93
+ <p class="last">You can now perform requests using any of the module&#8217;s class methods outlined in the Table of Contents below.</p>
94
+ </div>
95
+ </div>
96
+ <div class="section" id="table-of-contents">
97
+ <h2>Table of Contents<a class="headerlink" href="#table-of-contents" title="Permalink to this headline">¶</a></h2>
98
+ <div class="toctree-wrapper compound">
99
+ <ul>
100
+ <li class="toctree-l1"><a class="reference internal" href="servers.html">Servers</a></li>
101
+ <li class="toctree-l1"><a class="reference internal" href="images.html">Images</a></li>
102
+ <li class="toctree-l1"><a class="reference internal" href="shared_storages.html">Shared Storages</a></li>
103
+ <li class="toctree-l1"><a class="reference internal" href="firewalls.html">Firewall Policies</a></li>
104
+ <li class="toctree-l1"><a class="reference internal" href="load_balancers.html">Load Balancers</a></li>
105
+ <li class="toctree-l1"><a class="reference internal" href="public_ips.html">Public IPs</a></li>
106
+ <li class="toctree-l1"><a class="reference internal" href="private_networks.html">Private Networks</a></li>
107
+ <li class="toctree-l1"><a class="reference internal" href="monitoring_center.html">Monitoring Center</a></li>
108
+ <li class="toctree-l1"><a class="reference internal" href="monitoring_policies.html">Monitoring Policies</a></li>
109
+ <li class="toctree-l1"><a class="reference internal" href="logs.html">Logs</a></li>
110
+ <li class="toctree-l1"><a class="reference internal" href="users.html">Users</a></li>
111
+ <li class="toctree-l1"><a class="reference internal" href="usages.html">Usages</a></li>
112
+ <li class="toctree-l1"><a class="reference internal" href="server_appliances.html">Server Appliances</a></li>
113
+ <li class="toctree-l1"><a class="reference internal" href="dvds.html">DVD&#8217;s</a></li>
114
+ </ul>
115
+ </div>
116
+ </div>
117
+ <div class="section" id="resources">
118
+ <h2>Resources<a class="headerlink" href="#resources" title="Permalink to this headline">¶</a></h2>
119
+ <p>Official 1&amp;1 REST API Documentation: <a class="reference external" href="https://cloudpanel-api.1and1.com/documentation/v1/#">API</a></p>
120
+ <p>1&amp;1 Ruby SDK Repo: <a class="reference external" href="https://github.com/1and1/oneandone-cloudserver-sdk-ruby">Github</a></p>
121
+ </div>
122
+ <div class="section" id="create-server">
123
+ <h2>Create Server<a class="headerlink" href="#create-server" title="Permalink to this headline">¶</a></h2>
124
+ <div class="highlight-python"><div class="highlight"><pre>require &#39;oneandone&#39;
125
+
126
+ OneAndOne.start(&#39;&lt;API-TOKEN&gt;&#39;) # Init module with API Key
127
+
128
+
129
+ # Instantiate Server Object
130
+ server = OneAndOne::Server.new()
131
+
132
+ # Create HDD&#39;s
133
+ hdd1 = {
134
+ &#39;size&#39; =&gt; 120,
135
+ &#39;is_main&#39; =&gt; true
136
+ }
137
+
138
+ hdds = [hdd1]
139
+
140
+ # Perform Request
141
+ response = server.create(name: &#39;Example Server&#39;,
142
+ vcore: 1,
143
+ cores_per_processor: 1,
144
+ ram: 1,
145
+ appliance_id: &#39;&lt;IMAGE-ID&gt;&#39;,
146
+ hdds: hdds)
147
+
148
+ puts JSON.pretty_generate(response)
149
+ </pre></div>
150
+ </div>
151
+ </div>
152
+ <div class="section" id="create-firewall-policy">
153
+ <h2>Create Firewall Policy<a class="headerlink" href="#create-firewall-policy" title="Permalink to this headline">¶</a></h2>
154
+ <div class="highlight-python"><div class="highlight"><pre>require &#39;oneandone&#39;
155
+
156
+ OneAndOne.start(&#39;&lt;API-TOKEN&gt;&#39;) # Init module with API Key
157
+
158
+
159
+ # Instantiate Firewall Object
160
+ firewall = OneAndOne::Firewall.new()
161
+
162
+ # Create Rules
163
+ rule1 = {
164
+ &#39;protocol&#39; =&gt; &#39;TCP&#39;,
165
+ &#39;port_from&#39; =&gt; 80,
166
+ &#39;port_to&#39; =&gt; 80,
167
+ &#39;source&#39; =&gt; &#39;0.0.0.0&#39;
168
+ }
169
+
170
+ rules = [rule1]
171
+
172
+ # Perform Request
173
+ response = firewall.create(name: &#39;Test Firewall&#39;,
174
+ description: &#39;Example Desc&#39;,
175
+ rules: rules)
176
+
177
+ puts JSON.pretty_generate(response)
178
+ </pre></div>
179
+ </div>
180
+ </div>
181
+ <div class="section" id="create-load-balancer">
182
+ <h2>Create Load Balancer<a class="headerlink" href="#create-load-balancer" title="Permalink to this headline">¶</a></h2>
183
+ <div class="highlight-python"><div class="highlight"><pre>require &#39;oneandone&#39;
184
+
185
+ OneAndOne.start(&#39;&lt;API-TOKEN&gt;&#39;) # Init module with API Key
186
+
187
+
188
+ # Instantiate Load Balancer Object
189
+ load_balancer = OneAndOne::LoadBalancer.new()
190
+
191
+ # Create Rules
192
+ rule1 = {
193
+ &#39;protocol&#39; =&gt; &#39;TCP&#39;,
194
+ &#39;port_balancer&#39; =&gt; 80,
195
+ &#39;port_server&#39; =&gt; 80,
196
+ &#39;source&#39; =&gt; &#39;0.0.0.0&#39;
197
+ }
198
+
199
+ rules = [rule1]
200
+
201
+ # Perform Request
202
+ response = load_balancer.create(name: &#39;Test LB&#39;,
203
+ description: &#39;Example Desc&#39;,
204
+ health_check_test: &#39;TCP&#39;,
205
+ health_check_interval: 40,
206
+ persistence: true,
207
+ persistence_time: 1200,
208
+ method: &#39;ROUND_ROBIN&#39;,
209
+ rules: rules)
210
+
211
+ puts JSON.pretty_generate(response)
212
+ </pre></div>
213
+ </div>
214
+ </div>
215
+ <div class="section" id="create-monitoring-policy">
216
+ <h2>Create Monitoring Policy<a class="headerlink" href="#create-monitoring-policy" title="Permalink to this headline">¶</a></h2>
217
+ <div class="highlight-python"><div class="highlight"><pre>require &#39;oneandone&#39;
218
+
219
+ OneAndOne.start(&#39;&lt;API-TOKEN&gt;&#39;) # Init module with API Key
220
+
221
+
222
+ # Instantiate Monitoring Policy Object
223
+ monitoring_policy = OneAndOne::MonitoringPolicy.new()
224
+
225
+ # Create Threshold Limits
226
+ thresholds = {
227
+ &#39;cpu&#39; =&gt; {
228
+ &#39;warning&#39; =&gt; {
229
+ &#39;value&#39; =&gt; 90,
230
+ &#39;alert&#39; =&gt; false
231
+ },
232
+ &#39;critical&#39; =&gt; {
233
+ &#39;value&#39; =&gt; 95,
234
+ &#39;alert&#39; =&gt; false
235
+ }
236
+ },
237
+ &#39;ram&#39; =&gt; {
238
+ &#39;warning&#39; =&gt; {
239
+ &#39;value&#39; =&gt; 90,
240
+ &#39;alert&#39; =&gt; false
241
+ },
242
+ &#39;critical&#39; =&gt; {
243
+ &#39;value&#39; =&gt; 95,
244
+ &#39;alert&#39; =&gt; false
245
+ }
246
+ },
247
+ &#39;disk&#39; =&gt; {
248
+ &#39;warning&#39; =&gt; {
249
+ &#39;value&#39; =&gt; 90,
250
+ &#39;alert&#39; =&gt; false
251
+ },
252
+ &#39;critical&#39; =&gt; {
253
+ &#39;value&#39; =&gt; 95,
254
+ &#39;alert&#39; =&gt; false
255
+ }
256
+ },
257
+ &#39;transfer&#39; =&gt; {
258
+ &#39;warning&#39; =&gt; {
259
+ &#39;value&#39; =&gt; 1000,
260
+ &#39;alert&#39; =&gt; false
261
+ },
262
+ &#39;critical&#39; =&gt; {
263
+ &#39;value&#39; =&gt; 2000,
264
+ &#39;alert&#39; =&gt; false
265
+ }
266
+ },
267
+ &#39;internal_ping&#39; =&gt; {
268
+ &#39;warning&#39; =&gt; {
269
+ &#39;value&#39; =&gt; 50,
270
+ &#39;alert&#39; =&gt; false
271
+ },
272
+ &#39;critical&#39; =&gt; {
273
+ &#39;value&#39; =&gt; 100,
274
+ &#39;alert&#39; =&gt; false
275
+ }
276
+ }
277
+ }
278
+
279
+ # Create Ports
280
+ port1 = {
281
+ &#39;protocol&#39; =&gt; &#39;TCP&#39;,
282
+ &#39;port&#39; =&gt; 80,
283
+ &#39;alert_if&#39; =&gt; &#39;NOT_RESPONDING&#39;,
284
+ &#39;email_notification&#39; =&gt; true
285
+ }
286
+
287
+ ports = [port1]
288
+
289
+ # Create Processes
290
+ process1 = {
291
+ &#39;process&#39; =&gt; &#39;test&#39;,
292
+ &#39;alert_if&#39; =&gt; &#39;NOT_RUNNING&#39;,
293
+ &#39;email_notification&#39; =&gt; true
294
+ }
295
+
296
+ processes = [process1]
297
+
298
+ # Perform Request
299
+ response = monitoring_policy.create(name: &#39;Test Monitoring Policy&#39;,
300
+ email: &#39;test@example.com&#39;,
301
+ agent: true,
302
+ thresholds: thresholds,
303
+ ports: ports,
304
+ processes: processes)
305
+
306
+ puts JSON.pretty_generate(response)
307
+ </pre></div>
308
+ </div>
309
+ <p>Then, add a server or two:</p>
310
+ <div class="highlight-python"><div class="highlight"><pre># Add Servers
311
+ server1 = &#39;&lt;SERVER-ID&gt;&#39;
312
+ server2 = &#39;&lt;SERVER-ID&gt;&#39;
313
+
314
+ servers = [server1, server2]
315
+
316
+ # Perform Request
317
+ response = monitoring_policy.add_servers(servers: servers)
318
+
319
+ puts JSON.pretty_generate(response)
320
+ </pre></div>
321
+ </div>
322
+ </div>
323
+ <div class="section" id="update-server-cores-memory-and-disk">
324
+ <h2>Update Server Cores, Memory, and Disk<a class="headerlink" href="#update-server-cores-memory-and-disk" title="Permalink to this headline">¶</a></h2>
325
+ <p>1&amp;1 allows users to dynamically update cores, memory, and disk independently of each other. This removes the restriction of needing to upgrade to the next size up to receive an increase in memory. You can now simply increase the instances memory keeping your costs in-line with your resource needs.</p>
326
+ <p>The following code illustrates how you can update cores and memory:</p>
327
+ <div class="highlight-python"><div class="highlight"><pre>require &#39;oneandone&#39;
328
+
329
+ OneAndOne.start(&#39;&lt;API-TOKEN&gt;&#39;) # Init module with API Key
330
+
331
+
332
+ # Instantiate Server Object
333
+ server = OneAndOne::Server.new()
334
+
335
+ # Perform Request
336
+ response = server.modify_hardware(server_id: &#39;&lt;SERVER-ID&gt;&#39;,
337
+ vcore: 2,
338
+ ram: 6)
339
+
340
+ puts JSON.pretty_generate(response)
341
+ </pre></div>
342
+ </div>
343
+ <p>This is how you would update a server disk&#8217;s size:</p>
344
+ <div class="highlight-python"><div class="highlight"><pre>require &#39;oneandone&#39;
345
+
346
+ OneAndOne.start(&#39;&lt;API-TOKEN&gt;&#39;) # Init module with API Key
347
+
348
+
349
+ # Instantiate Server Object
350
+ server = OneAndOne::Server.new()
351
+
352
+ # Perform Request
353
+ response = server.modify_hdd(server_id: &#39;&lt;SERVER-ID&gt;&#39;,
354
+ hdd_id: &#39;&lt;HDD-ID&gt;&#39;,
355
+ size: 140)
356
+
357
+ puts JSON.pretty_generate(response)
358
+ </pre></div>
359
+ </div>
360
+ </div>
361
+ <div class="section" id="example-app">
362
+ <h2>Example App<a class="headerlink" href="#example-app" title="Permalink to this headline">¶</a></h2>
363
+ <p>This simple app creates a load balancer, firewall policy, and server. It then creates a new IP for the server and adds the load balancer and firewall policy to that IP.</p>
364
+ <p>Use the <code class="docutils literal"><span class="pre">wait_for</span></code> method to chain together multiple actions that take some time to deploy.</p>
365
+ <div class="highlight-python"><div class="highlight"><pre>require_relative &#39;../lib/oneandone&#39;
366
+
367
+ OneAndOne.start(&#39;&lt;API-TOKEN&gt;&#39;) # Init module with API key
368
+
369
+
370
+
371
+ ### Create load balancer
372
+ load_balancer = OneAndOne::LoadBalancer.new
373
+
374
+ rule1 = {
375
+ &#39;protocol&#39; =&gt; &#39;TCP&#39;,
376
+ &#39;port_balancer&#39; =&gt; 80,
377
+ &#39;port_server&#39; =&gt; 80,
378
+ &#39;source&#39; =&gt; &#39;0.0.0.0&#39;
379
+ }
380
+
381
+ rules = [rule1]
382
+
383
+ lb1 = load_balancer.create(name: &#39;Example App LB&#39;,
384
+ description: &#39;Example Desc&#39;,
385
+ health_check_test: &#39;TCP&#39;,
386
+ health_check_interval: 40,
387
+ persistence: true,
388
+ persistence_time: 1200,
389
+ method: &#39;ROUND_ROBIN&#39;,
390
+ rules: rules)
391
+
392
+ # Wait for load balancer to deploy
393
+ puts &quot;Creating load balancer...&quot;
394
+ load_balancer.wait_for
395
+
396
+
397
+
398
+ ### Create firewall policy
399
+ firewall = OneAndOne::Firewall.new()
400
+
401
+ rule1 = {
402
+ &#39;protocol&#39; =&gt; &#39;TCP&#39;,
403
+ &#39;port_from&#39; =&gt; 80,
404
+ &#39;port_to&#39; =&gt; 80,
405
+ &#39;source&#39; =&gt; &#39;0.0.0.0&#39;
406
+ }
407
+
408
+ rules = [rule1]
409
+
410
+ fp1 = firewall.create(name: &#39;Example App Firewall&#39;,
411
+ description: &#39;Example Desc&#39;,
412
+ rules: rules)
413
+
414
+ # Wait for firewall policy to deploy
415
+ puts &quot;Creating firewall policy...&quot;
416
+ firewall.wait_for
417
+
418
+
419
+
420
+ ### Create a server
421
+ server = OneAndOne::Server.new()
422
+
423
+ hdd1 = {
424
+ &#39;size&#39; =&gt; 120,
425
+ &#39;is_main&#39; =&gt; true
426
+ }
427
+
428
+ hdds = [hdd1]
429
+
430
+ server1 = server.create(name: &#39;Example App Server&#39;,
431
+ vcore: 1,
432
+ cores_per_processor: 1,
433
+ ram: 1,
434
+ appliance_id: &#39;&lt;IMAGE-ID&gt;&#39;,
435
+ hdds: hdds)
436
+
437
+ # Wait for server to deploy
438
+ puts &quot;Creating server...&quot;
439
+ server.wait_for
440
+
441
+
442
+
443
+ ### Add a new IP to the server
444
+ puts &quot;Adding an IP to the server...&quot;
445
+ response = server.add_ip
446
+ new_ip = response[&#39;ips&#39;][1][&#39;id&#39;]
447
+
448
+
449
+
450
+ ### Add the load balancer to the new IP
451
+ response = server.add_load_balancer(ip_id: new_ip,
452
+ load_balancer_id: load_balancer.id)
453
+
454
+ # Wait for load balancer to be added
455
+ puts &quot;Adding load balancer to new server IP...&quot;
456
+ server.wait_for
457
+
458
+
459
+
460
+ ### Add the firewall policy to the new IP
461
+ response = server.add_firewall(ip_id: new_ip,
462
+ firewall_id: firewall.id)
463
+
464
+ # Wait for firewall policy to be added
465
+ puts &quot;Adding firewall policy to new server IP...&quot;
466
+ server.wait_for
467
+ puts &quot;Everything looks good!&quot;
468
+
469
+
470
+
471
+ ### Cleanup
472
+ puts &quot;Let&#39;s clean up the mess we just made.&quot;
473
+
474
+ puts &quot;Deleting server...&quot;
475
+ response = server.delete
476
+ puts &quot;Success!&quot;
477
+
478
+ puts &quot;Deleting load balancer...&quot;
479
+ response = load_balancer.delete
480
+ puts &quot;Success!&quot;
481
+
482
+ puts &quot;Deleting firewall policy...&quot;
483
+ response = firewall.delete
484
+ puts &quot;Success!&quot;
485
+
486
+ puts &quot;All done!&quot;
487
+ </pre></div>
488
+ </div>
489
+ </div>
490
+ <div class="section" id="index">
491
+ <h2>Index<a class="headerlink" href="#index" title="Permalink to this headline">¶</a></h2>
492
+ <ul class="simple">
493
+ <li><a class="reference internal" href="search.html"><span>Search Page</span></a></li>
494
+ </ul>
495
+ <span class="target" id="module-OneAndOne"></span></div>
496
+ </div>
497
+
498
+
499
+ </div>
500
+ </div>
501
+ </div>
502
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
503
+ <div class="sphinxsidebarwrapper">
504
+ <h3><a href="#">Table Of Contents</a></h3>
505
+ <ul>
506
+ <li><a class="reference internal" href="#">1&amp;1&#8217;s Ruby SDK</a><ul>
507
+ <li><a class="reference internal" href="#concepts">Concepts</a></li>
508
+ <li><a class="reference internal" href="#getting-started">Getting Started</a></li>
509
+ <li><a class="reference internal" href="#installation">Installation</a></li>
510
+ <li><a class="reference internal" href="#authentication">Authentication</a></li>
511
+ <li><a class="reference internal" href="#table-of-contents">Table of Contents</a></li>
512
+ <li><a class="reference internal" href="#resources">Resources</a></li>
513
+ <li><a class="reference internal" href="#create-server">Create Server</a></li>
514
+ <li><a class="reference internal" href="#create-firewall-policy">Create Firewall Policy</a></li>
515
+ <li><a class="reference internal" href="#create-load-balancer">Create Load Balancer</a></li>
516
+ <li><a class="reference internal" href="#create-monitoring-policy">Create Monitoring Policy</a></li>
517
+ <li><a class="reference internal" href="#update-server-cores-memory-and-disk">Update Server Cores, Memory, and Disk</a></li>
518
+ <li><a class="reference internal" href="#example-app">Example App</a></li>
519
+ <li><a class="reference internal" href="#index">Index</a></li>
520
+ </ul>
521
+ </li>
522
+ </ul>
523
+ <div class="relations">
524
+ <h3>Related Topics</h3>
525
+ <ul>
526
+ <li><a href="#">Documentation overview</a><ul>
527
+ <li>Next: <a href="servers.html" title="next chapter">Servers</a></li>
528
+ </ul></li>
529
+ </ul>
530
+ </div>
531
+ <div role="note" aria-label="source link">
532
+ <h3>This Page</h3>
533
+ <ul class="this-page-menu">
534
+ <li><a href="_sources/index.txt"
535
+ rel="nofollow">Show Source</a></li>
536
+ </ul>
537
+ </div>
538
+ <div id="searchbox" style="display: none" role="search">
539
+ <h3>Quick search</h3>
540
+ <form class="search" action="search.html" method="get">
541
+ <input type="text" name="q" />
542
+ <input type="submit" value="Go" />
543
+ <input type="hidden" name="check_keywords" value="yes" />
544
+ <input type="hidden" name="area" value="default" />
545
+ </form>
546
+ <p class="searchtip" style="font-size: 90%">
547
+ Enter search terms or a module, class or function name.
548
+ </p>
549
+ </div>
550
+ <script type="text/javascript">$('#searchbox').show(0);</script>
551
+ </div>
552
+ </div>
553
+ <div class="clearer"></div>
554
+ </div>
555
+ <div class="footer">
556
+ &copy;2016, StackPointCloud, Inc..
557
+
558
+ |
559
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 1.3.3</a>
560
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.6</a>
561
+
562
+ |
563
+ <a href="_sources/index.txt"
564
+ rel="nofollow">Page source</a>
565
+ </div>
566
+
567
+
568
+
569
+
570
+ </body>
571
+ </html>