ey-core 3.4.5 → 3.6.0.autoscaling1

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 (538) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +23 -26
  3. data/.ruby-gemset +1 -1
  4. data/.ruby-version +1 -1
  5. data/.travis.yml +23 -23
  6. data/CHANGELOG.md +174 -166
  7. data/Dockerfile +3 -0
  8. data/Gemfile +21 -21
  9. data/Guardfile +15 -15
  10. data/LICENSE.txt +19 -19
  11. data/README.md +78 -78
  12. data/Rakefile +18 -18
  13. data/bin/ey-core +4 -4
  14. data/examples/add_instance.rb +74 -74
  15. data/examples/boot_env.rb +60 -60
  16. data/examples/console/README.md +14 -14
  17. data/examples/console/address.md +51 -51
  18. data/examples/stop_env.rb +51 -51
  19. data/examples/terminate_instance.rb +62 -62
  20. data/ey-core.gemspec +51 -51
  21. data/features/accounts.feature +13 -13
  22. data/features/applications.feature +29 -29
  23. data/features/current_user.feature +14 -14
  24. data/features/environment_variables.feature +54 -0
  25. data/features/environments.feature +30 -30
  26. data/features/init.feature +6 -6
  27. data/features/login.feature +6 -6
  28. data/features/scp.feature +6 -6
  29. data/features/step_definitions/accounts_steps.rb +37 -23
  30. data/features/step_definitions/applications_steps.rb +39 -46
  31. data/features/step_definitions/current_user_steps.rb +11 -11
  32. data/features/step_definitions/deprecated_command_steps.rb +3 -3
  33. data/features/step_definitions/environment_variables_steps.rb +51 -0
  34. data/features/step_definitions/environments_steps.rb +52 -37
  35. data/features/step_definitions/version_steps.rb +3 -3
  36. data/features/support/account_helpers.rb +89 -89
  37. data/features/support/app_helpers.rb +19 -19
  38. data/features/support/aruba.rb +1 -1
  39. data/features/support/boilerplate.rb +1 -1
  40. data/features/support/client_helpers.rb +36 -36
  41. data/features/support/config_file_helpers.rb +42 -42
  42. data/features/support/core.rb +19 -19
  43. data/features/support/deployment_helpers.rb +19 -19
  44. data/features/support/env.rb +40 -40
  45. data/features/support/environment_helpers.rb +23 -23
  46. data/features/support/environment_variable_helpers.rb +20 -0
  47. data/features/support/fake_kernel.rb +23 -23
  48. data/features/support/io.rb +5 -5
  49. data/features/support/mock_api.rb +21 -21
  50. data/features/support/output_helpers.rb +7 -7
  51. data/features/support/resource_helpers.rb +201 -189
  52. data/features/support/server_helpers.rb +27 -27
  53. data/features/version.feature +8 -8
  54. data/features/whoami.feature +14 -14
  55. data/lib/ey-core/associations.rb +155 -155
  56. data/lib/ey-core/cli/accounts.rb +17 -17
  57. data/lib/ey-core/cli/applications.rb +36 -36
  58. data/lib/ey-core/cli/console.rb +28 -28
  59. data/lib/ey-core/cli/current_user.rb +16 -16
  60. data/lib/ey-core/cli/deploy.rb +123 -123
  61. data/lib/ey-core/cli/environment_variables.rb +71 -0
  62. data/lib/ey-core/cli/environments.rb +39 -39
  63. data/lib/ey-core/cli/errors.rb +11 -11
  64. data/lib/ey-core/cli/help.rb +30 -30
  65. data/lib/ey-core/cli/helpers/archive.rb +70 -70
  66. data/lib/ey-core/cli/helpers/chef.rb +51 -51
  67. data/lib/ey-core/cli/helpers/core.rb +225 -196
  68. data/lib/ey-core/cli/helpers/deprecated.rb +39 -39
  69. data/lib/ey-core/cli/helpers/log_streaming.rb +41 -41
  70. data/lib/ey-core/cli/helpers/server_sieve.rb +76 -76
  71. data/lib/ey-core/cli/helpers/stream_printer.rb +42 -42
  72. data/lib/ey-core/cli/init.rb +14 -14
  73. data/lib/ey-core/cli/login.rb +38 -38
  74. data/lib/ey-core/cli/logout.rb +22 -22
  75. data/lib/ey-core/cli/logs.rb +70 -70
  76. data/lib/ey-core/cli/main.rb +67 -65
  77. data/lib/ey-core/cli/recipes/apply.rb +65 -65
  78. data/lib/ey-core/cli/recipes/download.rb +52 -52
  79. data/lib/ey-core/cli/recipes/main.rb +21 -21
  80. data/lib/ey-core/cli/recipes/upload.rb +78 -78
  81. data/lib/ey-core/cli/recipes.rb +10 -10
  82. data/lib/ey-core/cli/scp.rb +14 -14
  83. data/lib/ey-core/cli/servers.rb +58 -41
  84. data/lib/ey-core/cli/ssh.rb +150 -150
  85. data/lib/ey-core/cli/status.rb +60 -60
  86. data/lib/ey-core/cli/subcommand.rb +53 -53
  87. data/lib/ey-core/cli/timeout_deploy.rb +58 -58
  88. data/lib/ey-core/cli/version.rb +16 -16
  89. data/lib/ey-core/cli/web/disable.rb +49 -49
  90. data/lib/ey-core/cli/web/enable.rb +46 -46
  91. data/lib/ey-core/cli/web/main.rb +21 -21
  92. data/lib/ey-core/cli/web/restart.rb +42 -42
  93. data/lib/ey-core/cli/web.rb +10 -10
  94. data/lib/ey-core/cli/whoami.rb +12 -12
  95. data/lib/ey-core/cli.rb +8 -8
  96. data/lib/ey-core/client/mock.rb +306 -302
  97. data/lib/ey-core/client/real.rb +93 -93
  98. data/lib/ey-core/client.rb +468 -442
  99. data/lib/ey-core/collection.rb +131 -131
  100. data/lib/ey-core/collections/account_cancellations.rb +6 -6
  101. data/lib/ey-core/collections/account_referrals.rb +10 -10
  102. data/lib/ey-core/collections/accounts.rb +8 -8
  103. data/lib/ey-core/collections/addons.rb +16 -16
  104. data/lib/ey-core/collections/addresses.rb +9 -9
  105. data/lib/ey-core/collections/alerts.rb +9 -9
  106. data/lib/ey-core/collections/application_archives.rb +9 -9
  107. data/lib/ey-core/collections/application_deployments.rb +9 -9
  108. data/lib/ey-core/collections/applications.rb +9 -9
  109. data/lib/ey-core/collections/auto_scaling_alarms.rb +8 -0
  110. data/lib/ey-core/collections/auto_scaling_groups.rb +8 -8
  111. data/lib/ey-core/collections/auto_scaling_policies.rb +33 -0
  112. data/lib/ey-core/collections/backup_files.rb +9 -9
  113. data/lib/ey-core/collections/blueprints.rb +9 -9
  114. data/lib/ey-core/collections/components.rb +9 -9
  115. data/lib/ey-core/collections/contacts.rb +9 -9
  116. data/lib/ey-core/collections/container_clusters.rb +9 -0
  117. data/lib/ey-core/collections/container_service_deployments.rb +17 -0
  118. data/lib/ey-core/collections/costs.rb +8 -8
  119. data/lib/ey-core/collections/database_plan_usages.rb +7 -7
  120. data/lib/ey-core/collections/database_server_revisions.rb +7 -7
  121. data/lib/ey-core/collections/database_server_snapshots.rb +17 -17
  122. data/lib/ey-core/collections/database_server_usages.rb +7 -7
  123. data/lib/ey-core/collections/database_servers.rb +9 -9
  124. data/lib/ey-core/collections/database_services.rb +9 -9
  125. data/lib/ey-core/collections/deployments.rb +8 -8
  126. data/lib/ey-core/collections/environment_plan_usages.rb +7 -7
  127. data/lib/ey-core/collections/environment_variables.rb +8 -0
  128. data/lib/ey-core/collections/environments.rb +15 -15
  129. data/lib/ey-core/collections/features.rb +9 -9
  130. data/lib/ey-core/collections/firewall_rules.rb +9 -9
  131. data/lib/ey-core/collections/firewalls.rb +9 -9
  132. data/lib/ey-core/collections/gems.rb +6 -6
  133. data/lib/ey-core/collections/keypair_deployments.rb +9 -9
  134. data/lib/ey-core/collections/keypairs.rb +9 -9
  135. data/lib/ey-core/collections/legacy_alerts.rb +9 -9
  136. data/lib/ey-core/collections/load_balancer_nodes.rb +9 -9
  137. data/lib/ey-core/collections/load_balancer_services.rb +9 -9
  138. data/lib/ey-core/collections/load_balancers.rb +16 -16
  139. data/lib/ey-core/collections/logical_databases.rb +16 -16
  140. data/lib/ey-core/collections/logs.rb +9 -9
  141. data/lib/ey-core/collections/memberships.rb +9 -9
  142. data/lib/ey-core/collections/messages.rb +9 -9
  143. data/lib/ey-core/collections/plan_usages.rb +7 -7
  144. data/lib/ey-core/collections/provider_locations.rb +13 -13
  145. data/lib/ey-core/collections/providers.rb +15 -15
  146. data/lib/ey-core/collections/requests.rb +10 -10
  147. data/lib/ey-core/collections/server_events.rb +9 -9
  148. data/lib/ey-core/collections/server_usages.rb +7 -7
  149. data/lib/ey-core/collections/servers.rb +13 -13
  150. data/lib/ey-core/collections/services.rb +14 -14
  151. data/lib/ey-core/collections/ssl_certificates.rb +9 -9
  152. data/lib/ey-core/collections/storage_users.rb +10 -10
  153. data/lib/ey-core/collections/storages.rb +9 -9
  154. data/lib/ey-core/collections/tasks.rb +9 -9
  155. data/lib/ey-core/collections/tokens.rb +9 -9
  156. data/lib/ey-core/collections/untracked_addresses.rb +4 -4
  157. data/lib/ey-core/collections/untracked_servers.rb +9 -9
  158. data/lib/ey-core/collections/users.rb +12 -12
  159. data/lib/ey-core/collections/volumes.rb +9 -9
  160. data/lib/ey-core/logger.rb +31 -31
  161. data/lib/ey-core/memory_cache.rb +17 -17
  162. data/lib/ey-core/mock/helper.rb +104 -104
  163. data/lib/ey-core/mock/params.rb +31 -31
  164. data/lib/ey-core/mock/resources.rb +92 -92
  165. data/lib/ey-core/mock/searching.rb +115 -115
  166. data/lib/ey-core/mock/util.rb +23 -23
  167. data/lib/ey-core/model.rb +44 -44
  168. data/lib/ey-core/models/account.rb +70 -70
  169. data/lib/ey-core/models/account_cancellation.rb +6 -6
  170. data/lib/ey-core/models/account_referral.rb +8 -8
  171. data/lib/ey-core/models/account_trial.rb +15 -15
  172. data/lib/ey-core/models/addon.rb +37 -37
  173. data/lib/ey-core/models/address.rb +59 -57
  174. data/lib/ey-core/models/alert.rb +99 -100
  175. data/lib/ey-core/models/application.rb +33 -32
  176. data/lib/ey-core/models/application_archive.rb +67 -67
  177. data/lib/ey-core/models/application_deployment.rb +18 -18
  178. data/lib/ey-core/models/auto_scaling_alarm.rb +54 -0
  179. data/lib/ey-core/models/auto_scaling_group.rb +75 -49
  180. data/lib/ey-core/models/backup_file.rb +52 -52
  181. data/lib/ey-core/models/base_auto_scaling_policy.rb +61 -0
  182. data/lib/ey-core/models/billing.rb +27 -27
  183. data/lib/ey-core/models/blueprint.rb +30 -30
  184. data/lib/ey-core/models/component.rb +11 -11
  185. data/lib/ey-core/models/contact.rb +14 -14
  186. data/lib/ey-core/models/container_service_deployment.rb +17 -0
  187. data/lib/ey-core/models/cost.rb +16 -16
  188. data/lib/ey-core/models/database_plan_usage.rb +10 -10
  189. data/lib/ey-core/models/database_server.rb +56 -56
  190. data/lib/ey-core/models/database_server_revision.rb +10 -10
  191. data/lib/ey-core/models/database_server_snapshot.rb +43 -43
  192. data/lib/ey-core/models/database_server_usage.rb +15 -15
  193. data/lib/ey-core/models/database_service.rb +52 -52
  194. data/lib/ey-core/models/deployment.rb +30 -30
  195. data/lib/ey-core/models/environment.rb +248 -242
  196. data/lib/ey-core/models/environment_plan_usage.rb +10 -10
  197. data/lib/ey-core/models/environment_variable.rb +29 -0
  198. data/lib/ey-core/models/feature.rb +33 -33
  199. data/lib/ey-core/models/firewall.rb +46 -46
  200. data/lib/ey-core/models/firewall_rule.rb +41 -41
  201. data/lib/ey-core/models/gem.rb +5 -5
  202. data/lib/ey-core/models/keypair.rb +38 -38
  203. data/lib/ey-core/models/keypair_deployment.rb +26 -26
  204. data/lib/ey-core/models/legacy_alert.rb +12 -12
  205. data/lib/ey-core/models/load_balancer.rb +43 -43
  206. data/lib/ey-core/models/load_balancer_node.rb +17 -17
  207. data/lib/ey-core/models/load_balancer_service.rb +22 -22
  208. data/lib/ey-core/models/log.rb +44 -44
  209. data/lib/ey-core/models/logical_database.rb +40 -40
  210. data/lib/ey-core/models/membership.rb +49 -49
  211. data/lib/ey-core/models/message.rb +27 -27
  212. data/lib/ey-core/models/plan_usage.rb +14 -14
  213. data/lib/ey-core/models/provider.rb +59 -59
  214. data/lib/ey-core/models/provider_location.rb +24 -24
  215. data/lib/ey-core/models/request.rb +109 -105
  216. data/lib/ey-core/models/server.rb +151 -151
  217. data/lib/ey-core/models/server_event.rb +11 -11
  218. data/lib/ey-core/models/server_usage.rb +15 -15
  219. data/lib/ey-core/models/service.rb +10 -10
  220. data/lib/ey-core/models/simple_auto_scaling_policy.rb +24 -0
  221. data/lib/ey-core/models/ssl_certificate.rb +44 -44
  222. data/lib/ey-core/models/step_auto_scaling_policy.rb +24 -0
  223. data/lib/ey-core/models/storage.rb +38 -38
  224. data/lib/ey-core/models/storage_user.rb +44 -44
  225. data/lib/ey-core/models/support_trial.rb +10 -10
  226. data/lib/ey-core/models/target_auto_scaling_policy.rb +24 -0
  227. data/lib/ey-core/models/task.rb +35 -35
  228. data/lib/ey-core/models/token.rb +24 -24
  229. data/lib/ey-core/models/untracked_address.rb +24 -24
  230. data/lib/ey-core/models/untracked_server.rb +45 -45
  231. data/lib/ey-core/models/user.rb +39 -39
  232. data/lib/ey-core/models/volume.rb +20 -20
  233. data/lib/ey-core/request.rb +21 -21
  234. data/lib/ey-core/request_failure.rb +11 -11
  235. data/lib/ey-core/requests/acknowledge_alert.rb +29 -29
  236. data/lib/ey-core/requests/apply_environment_updates.rb +54 -54
  237. data/lib/ey-core/requests/apply_server_updates.rb +52 -52
  238. data/lib/ey-core/requests/attach_address.rb +53 -53
  239. data/lib/ey-core/requests/authorized_channel.rb +22 -22
  240. data/lib/ey-core/requests/blueprint_environment.rb +72 -72
  241. data/lib/ey-core/requests/boot_environment.rb +187 -187
  242. data/lib/ey-core/requests/bootstrap_logical_database.rb +80 -80
  243. data/lib/ey-core/requests/cancel_account.rb +33 -33
  244. data/lib/ey-core/requests/change_environment_maintenance.rb +38 -38
  245. data/lib/ey-core/requests/create_account.rb +38 -33
  246. data/lib/ey-core/requests/create_addon.rb +35 -35
  247. data/lib/ey-core/requests/create_address.rb +54 -53
  248. data/lib/ey-core/requests/create_alert.rb +63 -63
  249. data/lib/ey-core/requests/create_application.rb +73 -72
  250. data/lib/ey-core/requests/create_application_archive.rb +44 -44
  251. data/lib/ey-core/requests/create_auto_scaling_alarm.rb +69 -0
  252. data/lib/ey-core/requests/create_auto_scaling_group.rb +62 -62
  253. data/lib/ey-core/requests/create_auto_scaling_policy.rb +68 -0
  254. data/lib/ey-core/requests/create_backup_file.rb +52 -52
  255. data/lib/ey-core/requests/create_database_server.rb +72 -72
  256. data/lib/ey-core/requests/create_database_service.rb +57 -57
  257. data/lib/ey-core/requests/create_database_service_snapshot.rb +69 -69
  258. data/lib/ey-core/requests/create_environment.rb +77 -76
  259. data/lib/ey-core/requests/create_environment_variable.rb +39 -0
  260. data/lib/ey-core/requests/create_firewall.rb +62 -62
  261. data/lib/ey-core/requests/create_firewall_rule.rb +60 -60
  262. data/lib/ey-core/requests/create_keypair.rb +42 -42
  263. data/lib/ey-core/requests/create_keypair_deployment.rb +36 -36
  264. data/lib/ey-core/requests/create_load_balancer.rb +62 -62
  265. data/lib/ey-core/requests/create_log.rb +53 -53
  266. data/lib/ey-core/requests/create_logical_database.rb +56 -56
  267. data/lib/ey-core/requests/create_membership.rb +47 -47
  268. data/lib/ey-core/requests/create_message.rb +35 -35
  269. data/lib/ey-core/requests/create_password_reset.rb +38 -38
  270. data/lib/ey-core/requests/create_provider.rb +90 -90
  271. data/lib/ey-core/requests/create_server.rb +121 -121
  272. data/lib/ey-core/requests/create_ssl_certificate.rb +83 -83
  273. data/lib/ey-core/requests/create_storage.rb +64 -64
  274. data/lib/ey-core/requests/create_storage_user.rb +64 -64
  275. data/lib/ey-core/requests/create_task.rb +55 -55
  276. data/lib/ey-core/requests/create_token.rb +24 -24
  277. data/lib/ey-core/requests/create_untracked_address.rb +50 -50
  278. data/lib/ey-core/requests/create_untracked_server.rb +39 -39
  279. data/lib/ey-core/requests/create_user.rb +54 -52
  280. data/lib/ey-core/requests/deploy_environment_application.rb +60 -60
  281. data/lib/ey-core/requests/deprovision_environment.rb +17 -17
  282. data/lib/ey-core/requests/destroy_addon.rb +24 -24
  283. data/lib/ey-core/requests/destroy_auto_scaling_alarm.rb +49 -0
  284. data/lib/ey-core/requests/destroy_auto_scaling_group.rb +44 -44
  285. data/lib/ey-core/requests/destroy_auto_scaling_policy.rb +49 -0
  286. data/lib/ey-core/requests/destroy_blueprint.rb +22 -22
  287. data/lib/ey-core/requests/destroy_database_server.rb +41 -41
  288. data/lib/ey-core/requests/destroy_database_server_snapshot.rb +42 -42
  289. data/lib/ey-core/requests/destroy_database_service.rb +57 -57
  290. data/lib/ey-core/requests/destroy_environment.rb +43 -43
  291. data/lib/ey-core/requests/destroy_firewall.rb +41 -41
  292. data/lib/ey-core/requests/destroy_firewall_rule.rb +41 -41
  293. data/lib/ey-core/requests/destroy_load_balancer.rb +30 -30
  294. data/lib/ey-core/requests/destroy_logical_database.rb +41 -41
  295. data/lib/ey-core/requests/destroy_provider.rb +34 -34
  296. data/lib/ey-core/requests/destroy_server.rb +48 -48
  297. data/lib/ey-core/requests/destroy_ssl_certificate.rb +28 -28
  298. data/lib/ey-core/requests/destroy_storage.rb +33 -33
  299. data/lib/ey-core/requests/destroy_storage_user.rb +38 -38
  300. data/lib/ey-core/requests/destroy_user.rb +29 -29
  301. data/lib/ey-core/requests/detach_address.rb +48 -48
  302. data/lib/ey-core/requests/disable_feature.rb +30 -30
  303. data/lib/ey-core/requests/discover_container_service_deployments.rb +71 -0
  304. data/lib/ey-core/requests/discover_database_server.rb +66 -66
  305. data/lib/ey-core/requests/discover_database_server_snapshots.rb +69 -69
  306. data/lib/ey-core/requests/discover_provider_location.rb +57 -57
  307. data/lib/ey-core/requests/discover_server.rb +60 -60
  308. data/lib/ey-core/requests/download_file.rb +25 -25
  309. data/lib/ey-core/requests/enable_feature.rb +35 -35
  310. data/lib/ey-core/requests/get_account.rb +29 -29
  311. data/lib/ey-core/requests/get_account_cancellation.rb +21 -21
  312. data/lib/ey-core/requests/get_account_referrals.rb +28 -28
  313. data/lib/ey-core/requests/get_account_trial.rb +32 -32
  314. data/lib/ey-core/requests/get_accounts.rb +42 -42
  315. data/lib/ey-core/requests/get_addon.rb +25 -25
  316. data/lib/ey-core/requests/get_addons.rb +24 -24
  317. data/lib/ey-core/requests/get_address.rb +25 -25
  318. data/lib/ey-core/requests/get_addresses.rb +27 -27
  319. data/lib/ey-core/requests/get_alert.rb +21 -21
  320. data/lib/ey-core/requests/get_alerting_environments.rb +41 -41
  321. data/lib/ey-core/requests/get_alerts.rb +44 -44
  322. data/lib/ey-core/requests/get_api_token.rb +19 -19
  323. data/lib/ey-core/requests/get_application.rb +21 -21
  324. data/lib/ey-core/requests/get_application_archive.rb +32 -32
  325. data/lib/ey-core/requests/get_application_archives.rb +29 -29
  326. data/lib/ey-core/requests/get_application_deployment.rb +21 -21
  327. data/lib/ey-core/requests/get_application_deployments.rb +28 -28
  328. data/lib/ey-core/requests/get_applications.rb +28 -28
  329. data/lib/ey-core/requests/get_auto_scaling_alarm.rb +27 -0
  330. data/lib/ey-core/requests/get_auto_scaling_alarms.rb +34 -0
  331. data/lib/ey-core/requests/get_auto_scaling_group.rb +21 -21
  332. data/lib/ey-core/requests/get_auto_scaling_groups.rb +29 -29
  333. data/lib/ey-core/requests/get_auto_scaling_policies.rb +46 -0
  334. data/lib/ey-core/requests/get_auto_scaling_policy.rb +27 -0
  335. data/lib/ey-core/requests/get_backup_file.rb +21 -21
  336. data/lib/ey-core/requests/get_backup_files.rb +28 -28
  337. data/lib/ey-core/requests/get_billing.rb +24 -24
  338. data/lib/ey-core/requests/get_blueprint.rb +21 -21
  339. data/lib/ey-core/requests/get_blueprints.rb +29 -29
  340. data/lib/ey-core/requests/get_component.rb +21 -21
  341. data/lib/ey-core/requests/get_components.rb +29 -29
  342. data/lib/ey-core/requests/get_contacts.rb +34 -34
  343. data/lib/ey-core/requests/get_costs.rb +25 -25
  344. data/lib/ey-core/requests/get_current_user.rb +19 -19
  345. data/lib/ey-core/requests/get_database_plan_usages.rb +24 -24
  346. data/lib/ey-core/requests/get_database_server.rb +21 -21
  347. data/lib/ey-core/requests/get_database_server_revisions.rb +27 -27
  348. data/lib/ey-core/requests/get_database_server_snapshot.rb +20 -20
  349. data/lib/ey-core/requests/get_database_server_snapshots.rb +39 -39
  350. data/lib/ey-core/requests/get_database_server_usages.rb +24 -24
  351. data/lib/ey-core/requests/get_database_servers.rb +30 -30
  352. data/lib/ey-core/requests/get_database_servers_firewalls.rb +30 -30
  353. data/lib/ey-core/requests/get_database_service.rb +20 -20
  354. data/lib/ey-core/requests/get_database_services.rb +55 -55
  355. data/lib/ey-core/requests/get_deployment.rb +19 -19
  356. data/lib/ey-core/requests/get_deployments.rb +29 -29
  357. data/lib/ey-core/requests/get_environment.rb +21 -21
  358. data/lib/ey-core/requests/get_environment_database_services.rb +21 -21
  359. data/lib/ey-core/requests/get_environment_logical_databases.rb +20 -20
  360. data/lib/ey-core/requests/get_environment_plan_usages.rb +24 -24
  361. data/lib/ey-core/requests/get_environment_variable.rb +19 -0
  362. data/lib/ey-core/requests/get_environment_variables.rb +29 -0
  363. data/lib/ey-core/requests/get_environments.rb +29 -29
  364. data/lib/ey-core/requests/get_feature.rb +21 -21
  365. data/lib/ey-core/requests/get_features.rb +28 -28
  366. data/lib/ey-core/requests/get_firewall.rb +21 -21
  367. data/lib/ey-core/requests/get_firewall_rule.rb +21 -21
  368. data/lib/ey-core/requests/get_firewall_rules.rb +29 -29
  369. data/lib/ey-core/requests/get_firewalls.rb +45 -45
  370. data/lib/ey-core/requests/get_gem.rb +24 -24
  371. data/lib/ey-core/requests/get_keypair.rb +21 -21
  372. data/lib/ey-core/requests/get_keypair_deployment.rb +21 -21
  373. data/lib/ey-core/requests/get_keypair_deployments.rb +29 -29
  374. data/lib/ey-core/requests/get_keypairs.rb +34 -34
  375. data/lib/ey-core/requests/get_legacy_alert.rb +21 -21
  376. data/lib/ey-core/requests/get_legacy_alerts.rb +29 -29
  377. data/lib/ey-core/requests/get_load_balancer.rb +21 -21
  378. data/lib/ey-core/requests/get_load_balancer_node.rb +21 -21
  379. data/lib/ey-core/requests/get_load_balancer_nodes.rb +30 -30
  380. data/lib/ey-core/requests/get_load_balancer_service.rb +21 -21
  381. data/lib/ey-core/requests/get_load_balancer_services.rb +30 -30
  382. data/lib/ey-core/requests/get_load_balancers.rb +29 -29
  383. data/lib/ey-core/requests/get_log.rb +21 -21
  384. data/lib/ey-core/requests/get_logical_database.rb +23 -23
  385. data/lib/ey-core/requests/get_logical_databases.rb +36 -36
  386. data/lib/ey-core/requests/get_logs.rb +37 -37
  387. data/lib/ey-core/requests/get_membership.rb +21 -21
  388. data/lib/ey-core/requests/get_memberships.rb +29 -29
  389. data/lib/ey-core/requests/get_message.rb +28 -28
  390. data/lib/ey-core/requests/get_messages.rb +27 -27
  391. data/lib/ey-core/requests/get_metadata.rb +22 -22
  392. data/lib/ey-core/requests/get_operational_contact.rb +21 -21
  393. data/lib/ey-core/requests/get_operational_contacts.rb +20 -20
  394. data/lib/ey-core/requests/get_plan_usages.rb +24 -24
  395. data/lib/ey-core/requests/get_possible_provider_locations.rb +19 -19
  396. data/lib/ey-core/requests/get_provider.rb +21 -21
  397. data/lib/ey-core/requests/get_provider_location.rb +29 -29
  398. data/lib/ey-core/requests/get_provider_locations.rb +28 -28
  399. data/lib/ey-core/requests/get_providers.rb +28 -28
  400. data/lib/ey-core/requests/get_request.rb +71 -71
  401. data/lib/ey-core/requests/get_requests.rb +29 -29
  402. data/lib/ey-core/requests/get_server.rb +34 -34
  403. data/lib/ey-core/requests/get_server_event.rb +20 -20
  404. data/lib/ey-core/requests/get_server_events.rb +28 -28
  405. data/lib/ey-core/requests/get_server_usages.rb +24 -24
  406. data/lib/ey-core/requests/get_servers.rb +25 -25
  407. data/lib/ey-core/requests/get_ssl_certificate.rb +23 -23
  408. data/lib/ey-core/requests/get_ssl_certificates.rb +28 -28
  409. data/lib/ey-core/requests/get_storage.rb +21 -21
  410. data/lib/ey-core/requests/get_storage_user.rb +21 -21
  411. data/lib/ey-core/requests/get_storage_users.rb +28 -28
  412. data/lib/ey-core/requests/get_storages.rb +28 -28
  413. data/lib/ey-core/requests/get_support_trial.rb +51 -51
  414. data/lib/ey-core/requests/get_task.rb +21 -21
  415. data/lib/ey-core/requests/get_tasks.rb +28 -28
  416. data/lib/ey-core/requests/get_token.rb +21 -21
  417. data/lib/ey-core/requests/get_token_by_login.rb +30 -30
  418. data/lib/ey-core/requests/get_tokens.rb +32 -32
  419. data/lib/ey-core/requests/get_untracked_server.rb +18 -18
  420. data/lib/ey-core/requests/get_untracked_servers.rb +24 -24
  421. data/lib/ey-core/requests/get_user.rb +21 -21
  422. data/lib/ey-core/requests/get_users.rb +42 -42
  423. data/lib/ey-core/requests/get_volume.rb +21 -21
  424. data/lib/ey-core/requests/get_volumes.rb +28 -28
  425. data/lib/ey-core/requests/reboot_server.rb +39 -39
  426. data/lib/ey-core/requests/reconcile_server.rb +39 -39
  427. data/lib/ey-core/requests/request_callback.rb +26 -26
  428. data/lib/ey-core/requests/reset_password.rb +31 -31
  429. data/lib/ey-core/requests/reset_server_state.rb +32 -32
  430. data/lib/ey-core/requests/restart_environment_app_servers.rb +38 -38
  431. data/lib/ey-core/requests/run_cluster_application_action.rb +28 -28
  432. data/lib/ey-core/requests/run_environment_application_action.rb +29 -29
  433. data/lib/ey-core/requests/signup.rb +56 -56
  434. data/lib/ey-core/requests/start_server.rb +39 -39
  435. data/lib/ey-core/requests/stop_server.rb +39 -39
  436. data/lib/ey-core/requests/timeout_deployment.rb +27 -27
  437. data/lib/ey-core/requests/unassign_environment.rb +31 -31
  438. data/lib/ey-core/requests/update_addon.rb +28 -28
  439. data/lib/ey-core/requests/update_address.rb +29 -29
  440. data/lib/ey-core/requests/update_alert.rb +32 -32
  441. data/lib/ey-core/requests/update_application_archive.rb +23 -23
  442. data/lib/ey-core/requests/update_auto_scaling_alarm.rb +45 -0
  443. data/lib/ey-core/requests/update_auto_scaling_group.rb +45 -45
  444. data/lib/ey-core/requests/update_auto_scaling_policy.rb +46 -0
  445. data/lib/ey-core/requests/update_billing.rb +26 -26
  446. data/lib/ey-core/requests/update_blueprint.rb +29 -29
  447. data/lib/ey-core/requests/update_connector.rb +32 -32
  448. data/lib/ey-core/requests/update_environment.rb +17 -17
  449. data/lib/ey-core/requests/update_environment_variable.rb +25 -0
  450. data/lib/ey-core/requests/update_membership.rb +29 -29
  451. data/lib/ey-core/requests/update_provider_location.rb +29 -29
  452. data/lib/ey-core/requests/update_server.rb +29 -29
  453. data/lib/ey-core/requests/update_ssl_certificate.rb +25 -25
  454. data/lib/ey-core/requests/update_untracked_server.rb +24 -24
  455. data/lib/ey-core/requests/upload_file.rb +44 -44
  456. data/lib/ey-core/requests/upload_recipes_for_environment.rb +28 -28
  457. data/lib/ey-core/response.rb +59 -59
  458. data/lib/ey-core/response_cache.rb +29 -29
  459. data/lib/ey-core/subscribable.rb +60 -60
  460. data/lib/ey-core/test_helpers/account_helpers.rb +73 -73
  461. data/lib/ey-core/test_helpers/alert_helpers.rb +16 -16
  462. data/lib/ey-core/test_helpers/auto_scaling_helpers.rb +35 -0
  463. data/lib/ey-core/test_helpers/client_helpers.rb +40 -40
  464. data/lib/ey-core/test_helpers/cucumber.rb +3 -3
  465. data/lib/ey-core/test_helpers/resource_helpers.rb +196 -196
  466. data/lib/ey-core/test_helpers/rspec.rb +5 -5
  467. data/lib/ey-core/test_helpers.rb +17 -15
  468. data/lib/ey-core/token_authentication.rb +13 -13
  469. data/lib/ey-core/version.rb +5 -5
  470. data/lib/ey-core.rb +59 -59
  471. data/spec/account_spec.rb +65 -65
  472. data/spec/account_trial_spec.rb +17 -17
  473. data/spec/accounts_referrals_spec.rb +20 -20
  474. data/spec/accounts_spec.rb +113 -113
  475. data/spec/addons_and_vars_spec.rb +62 -62
  476. data/spec/addresses_spec.rb +57 -56
  477. data/spec/alerts_spec.rb +155 -155
  478. data/spec/application_archives_spec.rb +39 -39
  479. data/spec/applications_spec.rb +65 -65
  480. data/spec/auto_scaling_alarms_spec.rb +40 -0
  481. data/spec/auto_scaling_groups_spec.rb +28 -28
  482. data/spec/auto_scaling_policies_spec.rb +94 -0
  483. data/spec/billing_spec.rb +31 -31
  484. data/spec/blueprints_spec.rb +47 -47
  485. data/spec/client_spec.rb +16 -16
  486. data/spec/collection_spec.rb +43 -43
  487. data/spec/costs_spec.rb +22 -22
  488. data/spec/database_plan_usage_spec.rb +39 -39
  489. data/spec/database_server_snapshots_spec.rb +41 -41
  490. data/spec/database_server_usage_spec.rb +49 -49
  491. data/spec/database_servers_spec.rb +61 -61
  492. data/spec/database_services_spec.rb +76 -76
  493. data/spec/deployments_spec.rb +24 -24
  494. data/spec/environment_plan_usage_spec.rb +38 -38
  495. data/spec/environments_spec.rb +212 -212
  496. data/spec/ey-core/cli/accounts_spec.rb +20 -20
  497. data/spec/ey-core/cli/helpers/server_sieve_spec.rb +226 -226
  498. data/spec/ey-core/cli/recipes/apply_spec.rb +34 -34
  499. data/spec/ey-core/cli/recipes/download_spec.rb +93 -93
  500. data/spec/ey-core/cli/recipes/upload_spec.rb +80 -80
  501. data/spec/features_spec.rb +79 -79
  502. data/spec/firewalls_spec.rb +84 -84
  503. data/spec/gems_spec.rb +11 -11
  504. data/spec/keypair_deployments_spec.rb +33 -33
  505. data/spec/keypairs_spec.rb +51 -51
  506. data/spec/legacy_alerts_spec.rb +44 -44
  507. data/spec/load_balancers_spec.rb +31 -31
  508. data/spec/logical_databases_spec.rb +38 -38
  509. data/spec/logs_spec.rb +44 -44
  510. data/spec/memberships_spec.rb +73 -73
  511. data/spec/messages_spec.rb +27 -27
  512. data/spec/metadata_spec.rb +11 -11
  513. data/spec/plan_usage_spec.rb +65 -65
  514. data/spec/provider_locations_spec.rb +85 -85
  515. data/spec/providers_spec.rb +105 -105
  516. data/spec/requests/upload_file_spec.rb +25 -25
  517. data/spec/requests_spec.rb +23 -23
  518. data/spec/reset_password_spec.rb +22 -22
  519. data/spec/server_events_spec.rb +31 -31
  520. data/spec/server_usage_spec.rb +70 -70
  521. data/spec/servers_spec.rb +202 -202
  522. data/spec/services_spec.rb +9 -9
  523. data/spec/signups_spec.rb +45 -45
  524. data/spec/spec_helper.rb +27 -20
  525. data/spec/ssl_certificates_spec.rb +94 -94
  526. data/spec/storages_spec.rb +57 -57
  527. data/spec/support/cli_helpers.rb +47 -47
  528. data/spec/support/core.rb +23 -23
  529. data/spec/support/coverage.rb +43 -43
  530. data/spec/support/fake_kernel.rb +21 -21
  531. data/spec/support/helpers.rb +1 -1
  532. data/spec/support/timecop.rb +8 -8
  533. data/spec/support_trial_spec.rb +33 -33
  534. data/spec/tokens_spec.rb +59 -59
  535. data/spec/untracked_servers_spec.rb +59 -59
  536. data/spec/users_spec.rb +108 -108
  537. metadata +46 -8
  538. data/bin/console +0 -4
data/README.md CHANGED
@@ -1,78 +1,78 @@
1
- # Ey::Core
2
-
3
- Official Ruby Engine Yard Core API Client.
4
-
5
- ## Installation
6
-
7
- Add this line to your application's Gemfile:
8
-
9
- gem 'ey-core'
10
-
11
- And then execute:
12
-
13
- $ bundle
14
-
15
- Or install it yourself as:
16
-
17
- $ gem install ey-core
18
-
19
- ## Usage
20
-
21
- Uses [cistern](https://github.com/lanej/cistern) to wrap RESTful resources nicely.
22
-
23
- ```ruby
24
- client.users.current # =>
25
- <Ey::Core::Client::User
26
- id="0037000000uLmCe",
27
- name="Josh Lane",
28
- email="jlane@engineyard.com",
29
- accounts_url="https://api.engineyard.com/users/0037000000uLmCe/accounts"
30
- >
31
- ```
32
-
33
- ### Authentication
34
-
35
- * Via Token
36
-
37
- ```ruby
38
- Ey::Core::Client.new(token: "943662ea7d0fad349eeae9f69adb521d")
39
- ```
40
-
41
- * Via HMAC
42
-
43
- ```ruby
44
- Ey::Core::Client.new(
45
- :auth_id => "943662ea7d0fad",
46
- :auth_key => "943662ea7d0fad349eeae9f69adb521d",
47
- :logger => Logger.new(STDOUT),
48
- )
49
- ```
50
-
51
- ### Mock
52
-
53
- Mock is disabled by default.
54
-
55
- ```ruby
56
- Ey::Core::Client.mocking? # => false
57
- Ey::Core::Client.mock!
58
- Ey::Core::Client.mocking? # => true
59
- ```
60
-
61
- Reset the mock
62
-
63
- ```ruby
64
- Ey::Core::Client.reset!
65
- ```
66
-
67
- ### Testing
68
-
69
- By default, specs are run against the core mock. In order to run them against awsm mocked mode instead, run `MOCK_CORE=false bundle exec rspec`
70
-
71
-
72
- ## Contributing
73
-
74
- 1. Fork it
75
- 2. Create your feature branch (`git checkout -b my-new-feature`)
76
- 3. Commit your changes (`git commit -am 'Add some feature'`)
77
- 4. Push to the branch (`git push origin my-new-feature`)
78
- 5. Create new Pull Request
1
+ # Ey::Core
2
+
3
+ Official Ruby Engine Yard Core API Client.
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'ey-core'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install ey-core
18
+
19
+ ## Usage
20
+
21
+ Uses [cistern](https://github.com/lanej/cistern) to wrap RESTful resources nicely.
22
+
23
+ ```ruby
24
+ client.users.current # =>
25
+ <Ey::Core::Client::User
26
+ id="0037000000uLmCe",
27
+ name="Josh Lane",
28
+ email="jlane@engineyard.com",
29
+ accounts_url="https://api.engineyard.com/users/0037000000uLmCe/accounts"
30
+ >
31
+ ```
32
+
33
+ ### Authentication
34
+
35
+ * Via Token
36
+
37
+ ```ruby
38
+ Ey::Core::Client.new(token: "943662ea7d0fad349eeae9f69adb521d")
39
+ ```
40
+
41
+ * Via HMAC
42
+
43
+ ```ruby
44
+ Ey::Core::Client.new(
45
+ :auth_id => "943662ea7d0fad",
46
+ :auth_key => "943662ea7d0fad349eeae9f69adb521d",
47
+ :logger => Logger.new(STDOUT),
48
+ )
49
+ ```
50
+
51
+ ### Mock
52
+
53
+ Mock is disabled by default.
54
+
55
+ ```ruby
56
+ Ey::Core::Client.mocking? # => false
57
+ Ey::Core::Client.mock!
58
+ Ey::Core::Client.mocking? # => true
59
+ ```
60
+
61
+ Reset the mock
62
+
63
+ ```ruby
64
+ Ey::Core::Client.reset!
65
+ ```
66
+
67
+ ### Testing
68
+
69
+ By default, specs are run against the core mock. In order to run them against awsm mocked mode instead, run `MOCK_CORE=false bundle exec rspec`
70
+
71
+
72
+ ## Contributing
73
+
74
+ 1. Fork it
75
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
76
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
77
+ 4. Push to the branch (`git push origin my-new-feature`)
78
+ 5. Create new Pull Request
data/Rakefile CHANGED
@@ -1,18 +1,18 @@
1
- #!/usr/bin/env rake
2
- require "bundler/gem_tasks"
3
- require 'cucumber/rake/task'
4
-
5
- namespace :spec do
6
- task :mocked do
7
- sh "env MOCK_CORE=true bundle exec rspec spec/"
8
- end
9
- task :unmocked do
10
- sh "env MOCK_CORE=false CORE_URL=http://api-development.localdev.engineyard.com:9292 bundle exec rspec spec/"
11
- end
12
- end
13
-
14
- task :spec => ["spec:mocked", "spec:unmocked"]
15
-
16
- Cucumber::Rake::Task.new
17
-
18
- task default: ["spec:mocked", :cucumber]
1
+ #!/usr/bin/env rake
2
+ require "bundler/gem_tasks"
3
+ require 'cucumber/rake/task'
4
+
5
+ namespace :spec do
6
+ task :mocked do
7
+ sh "env MOCK_CORE=true bundle exec rspec spec/"
8
+ end
9
+ task :unmocked do
10
+ sh "env MOCK_CORE=false CORE_URL=http://api-development.localdev.engineyard.com:9292 bundle exec rspec spec/"
11
+ end
12
+ end
13
+
14
+ task :spec => ["spec:mocked", "spec:unmocked"]
15
+
16
+ Cucumber::Rake::Task.new
17
+
18
+ task default: ["spec:mocked", :cucumber]
data/bin/ey-core CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env ruby
2
- require File.expand_path('../../lib/ey-core/cli/main', __FILE__)
3
-
4
- Ey::Core::Cli::Main.new(ARGV).execute!
1
+ #!/usr/bin/env ruby
2
+ require File.expand_path('../../lib/ey-core/cli/main', __FILE__)
3
+
4
+ Ey::Core::Cli::Main.new(ARGV).execute!
@@ -1,74 +1,74 @@
1
- #!/usr/bin/env ruby
2
-
3
- # Very basic example of how to add an instance to a given environment.
4
- # As is attempts to add a t2.micro, see new_server_specs below.
5
- # For more info visit http://developer.engineyard.com
6
-
7
- require 'ey-core'
8
- require 'optparse'
9
- require 'yaml'
10
-
11
- options = {}
12
- OptionParser.new do |opts|
13
- opts.banner = "Usage: add_instance.rb [options]"
14
-
15
- opts.on('-a', '--account NAME', 'Account name') { |v| options[:account_name] = v }
16
- opts.on('-e', '--environment NAME', 'Environment name') { |v| options[:environment_name] = v }
17
- opts.on('-n', '--iname NAME', 'Instance name') { |v| options[:instance_name] = v }
18
- opts.on('-r', '--irole ROLE', 'Instance role (app, util)') { |v| options[:instance_role] = v }
19
-
20
- end.parse!
21
-
22
- # Token comes from '~/.eyrc'
23
- eyrc = YAML.load_file(File.expand_path("~/.eyrc"))
24
-
25
- client = Ey::Core::Client.new(token: eyrc['api_token'])
26
-
27
- # Account name as shown in cloud.engineyard.com
28
- account = client.accounts.first(name: options[:account_name])
29
-
30
- # Environment's name
31
- environment = account.environments.first(name: options[:environment_name])
32
-
33
- # Instance's name
34
- instance_name = options[:instance_name]
35
-
36
- puts "Adding app instance #{instance_name} to environment #{environment.name}...."
37
-
38
- # TO DO: read new_server_specs from a file provided as a parameter
39
- new_server_specs = {
40
- :environment => environment.id,
41
- :flavor_id => "t2_micro",
42
- :mnt_volume_size => "10",
43
- :name => instance_name,
44
- :role => options[:instance_role],
45
- :volume_size => "10",
46
- }
47
-
48
- provision_request = client.servers.create!(new_server_specs)
49
-
50
- # Provisioning the instance with a timeout of 1200sec.
51
- # Adjust as necessary depending of the type/role of instance.
52
- provision_request.ready!(1200)
53
-
54
- ap provision_request.attributes
55
-
56
- puts "Instance provisioned successfully"
57
- puts "-------------------"
58
-
59
- puts "Waiting for instance #{instance_name} to integrate into the environment #{environment.name}...."
60
- new_server = provision_request.resource!
61
-
62
- new_server.wait_for(1800) { |s| s.state == "running" || s.state == "error" }
63
-
64
- if !new_server.enabled? then
65
- puts "Adding of instance #{instance_name} into environment #{environment.name} FAILED!!!"
66
- puts "Check cloud.engineyard.com for more details"
67
- ap new_server.attributes
68
- exit
69
- end
70
-
71
- puts "Adding of instance #{instance_name} into environment #{environment.name} SUCCEEDED!!!"
72
-
73
-
74
-
1
+ #!/usr/bin/env ruby
2
+
3
+ # Very basic example of how to add an instance to a given environment.
4
+ # As is attempts to add a t2.micro, see new_server_specs below.
5
+ # For more info visit http://developer.engineyard.com
6
+
7
+ require 'ey-core'
8
+ require 'optparse'
9
+ require 'yaml'
10
+
11
+ options = {}
12
+ OptionParser.new do |opts|
13
+ opts.banner = "Usage: add_instance.rb [options]"
14
+
15
+ opts.on('-a', '--account NAME', 'Account name') { |v| options[:account_name] = v }
16
+ opts.on('-e', '--environment NAME', 'Environment name') { |v| options[:environment_name] = v }
17
+ opts.on('-n', '--iname NAME', 'Instance name') { |v| options[:instance_name] = v }
18
+ opts.on('-r', '--irole ROLE', 'Instance role (app, util)') { |v| options[:instance_role] = v }
19
+
20
+ end.parse!
21
+
22
+ # Token comes from '~/.eyrc'
23
+ eyrc = YAML.load_file(File.expand_path("~/.eyrc"))
24
+
25
+ client = Ey::Core::Client.new(token: eyrc['api_token'])
26
+
27
+ # Account name as shown in cloud.engineyard.com
28
+ account = client.accounts.first(name: options[:account_name])
29
+
30
+ # Environment's name
31
+ environment = account.environments.first(name: options[:environment_name])
32
+
33
+ # Instance's name
34
+ instance_name = options[:instance_name]
35
+
36
+ puts "Adding app instance #{instance_name} to environment #{environment.name}...."
37
+
38
+ # TO DO: read new_server_specs from a file provided as a parameter
39
+ new_server_specs = {
40
+ :environment => environment.id,
41
+ :flavor_id => "t2_micro",
42
+ :mnt_volume_size => "10",
43
+ :name => instance_name,
44
+ :role => options[:instance_role],
45
+ :volume_size => "10",
46
+ }
47
+
48
+ provision_request = client.servers.create!(new_server_specs)
49
+
50
+ # Provisioning the instance with a timeout of 1200sec.
51
+ # Adjust as necessary depending of the type/role of instance.
52
+ provision_request.ready!(1200)
53
+
54
+ ap provision_request.attributes
55
+
56
+ puts "Instance provisioned successfully"
57
+ puts "-------------------"
58
+
59
+ puts "Waiting for instance #{instance_name} to integrate into the environment #{environment.name}...."
60
+ new_server = provision_request.resource!
61
+
62
+ new_server.wait_for(1800) { |s| s.state == "running" || s.state == "error" }
63
+
64
+ if !new_server.enabled? then
65
+ puts "Adding of instance #{instance_name} into environment #{environment.name} FAILED!!!"
66
+ puts "Check cloud.engineyard.com for more details"
67
+ ap new_server.attributes
68
+ exit
69
+ end
70
+
71
+ puts "Adding of instance #{instance_name} into environment #{environment.name} SUCCEEDED!!!"
72
+
73
+
74
+
data/examples/boot_env.rb CHANGED
@@ -1,60 +1,60 @@
1
- #!/usr/bin/env ruby
2
-
3
- # Very basic example of how to boot a given environment from a blueprint
4
- # For more info visit http://developer.engineyard.com
5
-
6
- require 'ey-core'
7
- require 'optparse'
8
- require 'yaml'
9
-
10
- options = {}
11
- OptionParser.new do |opts|
12
- opts.banner = "Usage: boot_env.rb [options]"
13
-
14
- opts.on('-a', '--account NAME', 'Account name') { |v| options[:account_name] = v }
15
- opts.on('-e', '--environment NAME', 'Environment name') { |v| options[:environment_name] = v }
16
- opts.on('-b', '--blueprint NAME', 'Blueprint name') { |v| options[:blueprint_name] = v }
17
-
18
- end.parse!
19
-
20
- # Token comes from '~/.eyrc'
21
- eyrc = YAML.load_file(File.expand_path("~/.eyrc"))
22
-
23
- #client = Ey::Core::Client.new(token: "abcdefghijklmnrstuvwxyz123456789")
24
- client = Ey::Core::Client.new(token: eyrc['api_token'])
25
-
26
- # Account name as shown in cloud.engineyard.com
27
- account = client.accounts.first(name: options[:account_name])
28
-
29
- # Environment's name
30
- environment = account.environments.first(name: options[:environment_name])
31
-
32
- if environment.servers.count > 0 then
33
- puts "Environment has instances running, are you sure you want to boot it?"
34
- exit
35
- end
36
-
37
- # Get blueprint's name for cloud.engineyard.com
38
- blueprint = environment.blueprints.first(name: options[:blueprint_name])
39
- if !blueprint then
40
- puts "Could not find the specified blueprint."
41
- puts "Check cloud.engineyard.com for more details."
42
- exit
43
- end
44
-
45
- env_options = {"blueprint_id": blueprint.id}
46
- puts "Booting environment using an specific blueprint...."
47
- provision_request = environment.boot(env_options)
48
-
49
- # Booting the environment instance with a timeout of 1800sec (30mins).
50
- # Adjust as necessary depending of the size of the environment.
51
- provision_request.ready!(1800)
52
-
53
- puts "-------------------"
54
- if !provision_request.successful? then
55
- puts "Boot environment FAILED!!!"
56
- puts "Check cloud.engineyard.com for more details"
57
- exit
58
- end
59
-
60
- puts "Boot environment SUCCEDED!!!"
1
+ #!/usr/bin/env ruby
2
+
3
+ # Very basic example of how to boot a given environment from a blueprint
4
+ # For more info visit http://developer.engineyard.com
5
+
6
+ require 'ey-core'
7
+ require 'optparse'
8
+ require 'yaml'
9
+
10
+ options = {}
11
+ OptionParser.new do |opts|
12
+ opts.banner = "Usage: boot_env.rb [options]"
13
+
14
+ opts.on('-a', '--account NAME', 'Account name') { |v| options[:account_name] = v }
15
+ opts.on('-e', '--environment NAME', 'Environment name') { |v| options[:environment_name] = v }
16
+ opts.on('-b', '--blueprint NAME', 'Blueprint name') { |v| options[:blueprint_name] = v }
17
+
18
+ end.parse!
19
+
20
+ # Token comes from '~/.eyrc'
21
+ eyrc = YAML.load_file(File.expand_path("~/.eyrc"))
22
+
23
+ #client = Ey::Core::Client.new(token: "abcdefghijklmnrstuvwxyz123456789")
24
+ client = Ey::Core::Client.new(token: eyrc['api_token'])
25
+
26
+ # Account name as shown in cloud.engineyard.com
27
+ account = client.accounts.first(name: options[:account_name])
28
+
29
+ # Environment's name
30
+ environment = account.environments.first(name: options[:environment_name])
31
+
32
+ if environment.servers.count > 0 then
33
+ puts "Environment has instances running, are you sure you want to boot it?"
34
+ exit
35
+ end
36
+
37
+ # Get blueprint's name for cloud.engineyard.com
38
+ blueprint = environment.blueprints.first(name: options[:blueprint_name])
39
+ if !blueprint then
40
+ puts "Could not find the specified blueprint."
41
+ puts "Check cloud.engineyard.com for more details."
42
+ exit
43
+ end
44
+
45
+ env_options = {"blueprint_id": blueprint.id}
46
+ puts "Booting environment using an specific blueprint...."
47
+ provision_request = environment.boot(env_options)
48
+
49
+ # Booting the environment instance with a timeout of 1800sec (30mins).
50
+ # Adjust as necessary depending of the size of the environment.
51
+ provision_request.ready!(1800)
52
+
53
+ puts "-------------------"
54
+ if !provision_request.successful? then
55
+ puts "Boot environment FAILED!!!"
56
+ puts "Check cloud.engineyard.com for more details"
57
+ exit
58
+ end
59
+
60
+ puts "Boot environment SUCCEDED!!!"
@@ -1,14 +1,14 @@
1
- ## Examples and snippets to use with the `ey-core console`
2
-
3
- ### Getting started
4
-
5
- With the _ey-core_ gem comes the `ey-core console` utility which allows to query the CoreAPI interactively. Below are a series of snippets with commands that will allow actions that normally are done through the EY dashboard, and others which aren't implemented yet but the CoreAPI already supports.
6
-
7
- The backend will automatically allow/reject actions based on the api token the console is using. Upon a successful `ey-core login` said token is written on `$HOME/.ey-core` and picked up from there by the console. It's a good practice to issue `ey-core whoami` before opening the console to double check that the desired user is logged in.
8
-
9
- - Addresses
10
- - [List addresses allocated to the account](address.md#list-addresses-on-an-account)
11
- - [Provision a new address](address.md#provision-new-address)
12
- - [Attach an address to an instance/server](address.md#attach-address-to-instance)
13
- - [Detach an address from an instance/server](address.md#detach-address-from-instance)
14
-
1
+ ## Examples and snippets to use with the `ey-core console`
2
+
3
+ ### Getting started
4
+
5
+ With the _ey-core_ gem comes the `ey-core console` utility which allows to query the CoreAPI interactively. Below are a series of snippets with commands that will allow actions that normally are done through the EY dashboard, and others which aren't implemented yet but the CoreAPI already supports.
6
+
7
+ The backend will automatically allow/reject actions based on the api token the console is using. Upon a successful `ey-core login` said token is written on `$HOME/.ey-core` and picked up from there by the console. It's a good practice to issue `ey-core whoami` before opening the console to double check that the desired user is logged in.
8
+
9
+ - Addresses
10
+ - [List addresses allocated to the account](address.md#list-addresses-on-an-account)
11
+ - [Provision a new address](address.md#provision-new-address)
12
+ - [Attach an address to an instance/server](address.md#attach-address-to-instance)
13
+ - [Detach an address from an instance/server](address.md#detach-address-from-instance)
14
+
@@ -1,51 +1,51 @@
1
- # IP Addresses
2
-
3
- It's advised for each operation to capture the request via an *<operation>_prov_req* variable, which will hold the operation's status. The snippets below just wait for the request to finish (or timeout in 300sec), but the progress can be tracked issuing `<operation>_prov_req.reload` regularly.
4
-
5
- -
6
-
7
- <a name="list-addresses-on-an-account"></a>
8
- ### List IPs addresses allocated to an account
9
-
10
- ```
11
- addresses
12
- ```
13
-
14
- -
15
-
16
- <a name="provision-new-address"></a>
17
- ### Provision a new IP address on the account
18
-
19
- ```
20
- new_address_specs = {:provider_id => "23952", :location => "us-east-1"}
21
- address_prov_req = addresses.create(new_eip_specs)
22
- address_prov_req.ready!(300)
23
- ```
24
-
25
- -
26
-
27
- <a name="attach-address-to-instance"></a>
28
- ### Attach an address to an instance
29
-
30
- ```
31
- addresses
32
- address = addresses.first(ip_address: "111.222.333.444")
33
- attach_prov_req = address.attach(servers.first(provisioned_id: "i-aabbccdd"))
34
- attach_prov_req.ready!(300)
35
- ```
36
-
37
- -
38
-
39
- <a name="detach-address-from-instance"></a>
40
- ### Detach an address from an instance
41
-
42
- ```
43
- addresses
44
- eip = addresses.first(ip_address: "111.222.333.444")
45
- detach_prov_req = eip.detach
46
- detach_prov_req.ready!(300)
47
- ```
48
-
49
- -
50
-
51
-
1
+ # IP Addresses
2
+
3
+ It's advised for each operation to capture the request via an *<operation>_prov_req* variable, which will hold the operation's status. The snippets below just wait for the request to finish (or timeout in 300sec), but the progress can be tracked issuing `<operation>_prov_req.reload` regularly.
4
+
5
+ -
6
+
7
+ <a name="list-addresses-on-an-account"></a>
8
+ ### List IPs addresses allocated to an account
9
+
10
+ ```
11
+ addresses
12
+ ```
13
+
14
+ -
15
+
16
+ <a name="provision-new-address"></a>
17
+ ### Provision a new IP address on the account
18
+
19
+ ```
20
+ new_address_specs = {:provider_id => "23952", :location => "us-east-1"}
21
+ address_prov_req = addresses.create(new_eip_specs)
22
+ address_prov_req.ready!(300)
23
+ ```
24
+
25
+ -
26
+
27
+ <a name="attach-address-to-instance"></a>
28
+ ### Attach an address to an instance
29
+
30
+ ```
31
+ addresses
32
+ address = addresses.first(ip_address: "111.222.333.444")
33
+ attach_prov_req = address.attach(servers.first(provisioned_id: "i-aabbccdd"))
34
+ attach_prov_req.ready!(300)
35
+ ```
36
+
37
+ -
38
+
39
+ <a name="detach-address-from-instance"></a>
40
+ ### Detach an address from an instance
41
+
42
+ ```
43
+ addresses
44
+ eip = addresses.first(ip_address: "111.222.333.444")
45
+ detach_prov_req = eip.detach
46
+ detach_prov_req.ready!(300)
47
+ ```
48
+
49
+ -
50
+
51
+