ey-core 3.6.4 → 3.6.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (543) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +26 -23
  3. data/.ruby-gemset +1 -1
  4. data/.ruby-version +1 -1
  5. data/.travis.yml +23 -23
  6. data/CHANGELOG.md +189 -189
  7. data/Gemfile +26 -20
  8. data/Guardfile +15 -15
  9. data/LICENSE.txt +19 -19
  10. data/README.md +135 -135
  11. data/Rakefile +18 -18
  12. data/bin/console +4 -0
  13. data/bin/ey-core +4 -4
  14. data/docs/development.md +6 -0
  15. data/examples/add_instance.rb +74 -74
  16. data/examples/boot_env.rb +60 -60
  17. data/examples/console/README.md +14 -14
  18. data/examples/console/address.md +51 -51
  19. data/examples/stop_env.rb +51 -51
  20. data/examples/terminate_instance.rb +62 -62
  21. data/ey-core.gemspec +52 -52
  22. data/features/accounts.feature +13 -13
  23. data/features/applications.feature +29 -29
  24. data/features/current_user.feature +14 -14
  25. data/features/docker_registry_credentials.feature +21 -21
  26. data/features/environment_variables.feature +54 -54
  27. data/features/environments.feature +30 -30
  28. data/features/init.feature +6 -6
  29. data/features/login.feature +6 -6
  30. data/features/scp.feature +6 -6
  31. data/features/step_definitions/accounts_steps.rb +37 -37
  32. data/features/step_definitions/applications_steps.rb +39 -39
  33. data/features/step_definitions/current_user_steps.rb +11 -11
  34. data/features/step_definitions/deprecated_command_steps.rb +3 -3
  35. data/features/step_definitions/docker_registry_credentials_steps.rb +3 -3
  36. data/features/step_definitions/environment_variables_steps.rb +51 -51
  37. data/features/step_definitions/environments_steps.rb +52 -52
  38. data/features/step_definitions/version_steps.rb +3 -3
  39. data/features/support/account_helpers.rb +89 -89
  40. data/features/support/app_helpers.rb +19 -19
  41. data/features/support/aruba.rb +1 -1
  42. data/features/support/boilerplate.rb +1 -1
  43. data/features/support/client_helpers.rb +36 -36
  44. data/features/support/config_file_helpers.rb +42 -42
  45. data/features/support/core.rb +19 -19
  46. data/features/support/deployment_helpers.rb +19 -19
  47. data/features/support/env.rb +40 -40
  48. data/features/support/environment_helpers.rb +23 -23
  49. data/features/support/environment_variable_helpers.rb +20 -20
  50. data/features/support/fake_kernel.rb +23 -23
  51. data/features/support/io.rb +5 -5
  52. data/features/support/mock_api.rb +20 -20
  53. data/features/support/output_helpers.rb +7 -7
  54. data/features/support/resource_helpers.rb +201 -201
  55. data/features/support/server_helpers.rb +27 -27
  56. data/features/version.feature +8 -8
  57. data/features/whoami.feature +14 -14
  58. data/lib/ey-core/associations.rb +155 -155
  59. data/lib/ey-core/cli/accounts.rb +17 -17
  60. data/lib/ey-core/cli/applications.rb +36 -36
  61. data/lib/ey-core/cli/console.rb +28 -28
  62. data/lib/ey-core/cli/current_user.rb +16 -16
  63. data/lib/ey-core/cli/deploy.rb +126 -126
  64. data/lib/ey-core/cli/docker_registry_login.rb +29 -29
  65. data/lib/ey-core/cli/environment_variables.rb +71 -71
  66. data/lib/ey-core/cli/environments.rb +39 -39
  67. data/lib/ey-core/cli/errors.rb +11 -11
  68. data/lib/ey-core/cli/help.rb +30 -30
  69. data/lib/ey-core/cli/helpers/archive.rb +70 -70
  70. data/lib/ey-core/cli/helpers/chef.rb +51 -51
  71. data/lib/ey-core/cli/helpers/core.rb +225 -225
  72. data/lib/ey-core/cli/helpers/deprecated.rb +39 -39
  73. data/lib/ey-core/cli/helpers/log_streaming.rb +41 -41
  74. data/lib/ey-core/cli/helpers/server_sieve.rb +83 -83
  75. data/lib/ey-core/cli/helpers/stream_printer.rb +42 -42
  76. data/lib/ey-core/cli/init.rb +14 -14
  77. data/lib/ey-core/cli/login.rb +38 -38
  78. data/lib/ey-core/cli/logout.rb +22 -22
  79. data/lib/ey-core/cli/logs.rb +70 -70
  80. data/lib/ey-core/cli/main.rb +66 -66
  81. data/lib/ey-core/cli/recipes/apply.rb +65 -65
  82. data/lib/ey-core/cli/recipes/download.rb +52 -52
  83. data/lib/ey-core/cli/recipes/main.rb +21 -21
  84. data/lib/ey-core/cli/recipes/upload.rb +78 -78
  85. data/lib/ey-core/cli/recipes.rb +10 -10
  86. data/lib/ey-core/cli/scp.rb +14 -14
  87. data/lib/ey-core/cli/servers.rb +59 -59
  88. data/lib/ey-core/cli/ssh.rb +156 -156
  89. data/lib/ey-core/cli/status.rb +60 -60
  90. data/lib/ey-core/cli/subcommand.rb +53 -53
  91. data/lib/ey-core/cli/timeout_deploy.rb +58 -58
  92. data/lib/ey-core/cli/version.rb +16 -16
  93. data/lib/ey-core/cli/web/disable.rb +49 -49
  94. data/lib/ey-core/cli/web/enable.rb +46 -46
  95. data/lib/ey-core/cli/web/main.rb +21 -21
  96. data/lib/ey-core/cli/web/restart.rb +42 -42
  97. data/lib/ey-core/cli/web.rb +10 -10
  98. data/lib/ey-core/cli/whoami.rb +12 -12
  99. data/lib/ey-core/cli.rb +8 -8
  100. data/lib/ey-core/client/mock.rb +306 -306
  101. data/lib/ey-core/client/real.rb +93 -93
  102. data/lib/ey-core/client.rb +469 -469
  103. data/lib/ey-core/collection.rb +131 -131
  104. data/lib/ey-core/collections/account_cancellations.rb +6 -6
  105. data/lib/ey-core/collections/account_referrals.rb +10 -10
  106. data/lib/ey-core/collections/accounts.rb +8 -8
  107. data/lib/ey-core/collections/addons.rb +16 -16
  108. data/lib/ey-core/collections/addresses.rb +9 -9
  109. data/lib/ey-core/collections/alerts.rb +9 -9
  110. data/lib/ey-core/collections/application_archives.rb +9 -9
  111. data/lib/ey-core/collections/application_deployments.rb +9 -9
  112. data/lib/ey-core/collections/applications.rb +9 -9
  113. data/lib/ey-core/collections/auto_scaling_alarms.rb +8 -8
  114. data/lib/ey-core/collections/auto_scaling_groups.rb +8 -8
  115. data/lib/ey-core/collections/auto_scaling_policies.rb +33 -33
  116. data/lib/ey-core/collections/backup_files.rb +9 -9
  117. data/lib/ey-core/collections/blueprints.rb +9 -9
  118. data/lib/ey-core/collections/components.rb +9 -9
  119. data/lib/ey-core/collections/contacts.rb +9 -9
  120. data/lib/ey-core/collections/container_clusters.rb +9 -9
  121. data/lib/ey-core/collections/container_service_deployments.rb +17 -17
  122. data/lib/ey-core/collections/costs.rb +8 -8
  123. data/lib/ey-core/collections/database_plan_usages.rb +7 -7
  124. data/lib/ey-core/collections/database_server_revisions.rb +7 -7
  125. data/lib/ey-core/collections/database_server_snapshots.rb +17 -17
  126. data/lib/ey-core/collections/database_server_usages.rb +7 -7
  127. data/lib/ey-core/collections/database_servers.rb +9 -9
  128. data/lib/ey-core/collections/database_services.rb +9 -9
  129. data/lib/ey-core/collections/deployments.rb +8 -8
  130. data/lib/ey-core/collections/environment_plan_usages.rb +7 -7
  131. data/lib/ey-core/collections/environment_variables.rb +8 -8
  132. data/lib/ey-core/collections/environments.rb +15 -15
  133. data/lib/ey-core/collections/features.rb +9 -9
  134. data/lib/ey-core/collections/firewall_rules.rb +9 -9
  135. data/lib/ey-core/collections/firewalls.rb +9 -9
  136. data/lib/ey-core/collections/gems.rb +6 -6
  137. data/lib/ey-core/collections/keypair_deployments.rb +9 -9
  138. data/lib/ey-core/collections/keypairs.rb +9 -9
  139. data/lib/ey-core/collections/legacy_alerts.rb +9 -9
  140. data/lib/ey-core/collections/load_balancer_nodes.rb +9 -9
  141. data/lib/ey-core/collections/load_balancer_services.rb +9 -9
  142. data/lib/ey-core/collections/load_balancers.rb +16 -16
  143. data/lib/ey-core/collections/logical_databases.rb +16 -16
  144. data/lib/ey-core/collections/logs.rb +9 -9
  145. data/lib/ey-core/collections/memberships.rb +9 -9
  146. data/lib/ey-core/collections/messages.rb +9 -9
  147. data/lib/ey-core/collections/plan_usages.rb +7 -7
  148. data/lib/ey-core/collections/provider_locations.rb +13 -13
  149. data/lib/ey-core/collections/providers.rb +15 -15
  150. data/lib/ey-core/collections/requests.rb +10 -10
  151. data/lib/ey-core/collections/server_events.rb +9 -9
  152. data/lib/ey-core/collections/server_usages.rb +7 -7
  153. data/lib/ey-core/collections/servers.rb +13 -13
  154. data/lib/ey-core/collections/services.rb +14 -14
  155. data/lib/ey-core/collections/ssl_certificates.rb +9 -9
  156. data/lib/ey-core/collections/storage_users.rb +10 -10
  157. data/lib/ey-core/collections/storages.rb +9 -9
  158. data/lib/ey-core/collections/tasks.rb +9 -9
  159. data/lib/ey-core/collections/tokens.rb +9 -9
  160. data/lib/ey-core/collections/untracked_addresses.rb +4 -4
  161. data/lib/ey-core/collections/untracked_servers.rb +9 -9
  162. data/lib/ey-core/collections/users.rb +12 -12
  163. data/lib/ey-core/collections/volumes.rb +9 -9
  164. data/lib/ey-core/logger.rb +31 -31
  165. data/lib/ey-core/memory_cache.rb +17 -17
  166. data/lib/ey-core/mock/helper.rb +104 -104
  167. data/lib/ey-core/mock/params.rb +31 -31
  168. data/lib/ey-core/mock/resources.rb +92 -92
  169. data/lib/ey-core/mock/searching.rb +115 -115
  170. data/lib/ey-core/mock/util.rb +23 -23
  171. data/lib/ey-core/model.rb +44 -44
  172. data/lib/ey-core/models/account.rb +80 -80
  173. data/lib/ey-core/models/account_cancellation.rb +6 -6
  174. data/lib/ey-core/models/account_referral.rb +8 -8
  175. data/lib/ey-core/models/account_trial.rb +15 -15
  176. data/lib/ey-core/models/addon.rb +37 -37
  177. data/lib/ey-core/models/address.rb +59 -59
  178. data/lib/ey-core/models/alert.rb +100 -99
  179. data/lib/ey-core/models/application.rb +33 -33
  180. data/lib/ey-core/models/application_archive.rb +67 -67
  181. data/lib/ey-core/models/application_deployment.rb +18 -18
  182. data/lib/ey-core/models/auto_scaling_alarm.rb +54 -54
  183. data/lib/ey-core/models/auto_scaling_group.rb +75 -75
  184. data/lib/ey-core/models/backup_file.rb +52 -52
  185. data/lib/ey-core/models/base_auto_scaling_policy.rb +61 -61
  186. data/lib/ey-core/models/billing.rb +27 -27
  187. data/lib/ey-core/models/blueprint.rb +30 -30
  188. data/lib/ey-core/models/component.rb +11 -11
  189. data/lib/ey-core/models/contact.rb +14 -14
  190. data/lib/ey-core/models/container_service_deployment.rb +17 -17
  191. data/lib/ey-core/models/cost.rb +16 -16
  192. data/lib/ey-core/models/database_plan_usage.rb +10 -10
  193. data/lib/ey-core/models/database_server.rb +56 -56
  194. data/lib/ey-core/models/database_server_revision.rb +10 -10
  195. data/lib/ey-core/models/database_server_snapshot.rb +43 -43
  196. data/lib/ey-core/models/database_server_usage.rb +15 -15
  197. data/lib/ey-core/models/database_service.rb +52 -52
  198. data/lib/ey-core/models/deployment.rb +31 -31
  199. data/lib/ey-core/models/environment.rb +248 -248
  200. data/lib/ey-core/models/environment_plan_usage.rb +10 -10
  201. data/lib/ey-core/models/environment_variable.rb +29 -29
  202. data/lib/ey-core/models/feature.rb +33 -33
  203. data/lib/ey-core/models/firewall.rb +46 -46
  204. data/lib/ey-core/models/firewall_rule.rb +41 -41
  205. data/lib/ey-core/models/gem.rb +5 -5
  206. data/lib/ey-core/models/keypair.rb +38 -38
  207. data/lib/ey-core/models/keypair_deployment.rb +26 -26
  208. data/lib/ey-core/models/legacy_alert.rb +12 -12
  209. data/lib/ey-core/models/load_balancer.rb +43 -43
  210. data/lib/ey-core/models/load_balancer_node.rb +17 -17
  211. data/lib/ey-core/models/load_balancer_service.rb +22 -22
  212. data/lib/ey-core/models/log.rb +44 -44
  213. data/lib/ey-core/models/logical_database.rb +40 -40
  214. data/lib/ey-core/models/membership.rb +49 -49
  215. data/lib/ey-core/models/message.rb +27 -27
  216. data/lib/ey-core/models/plan_usage.rb +14 -14
  217. data/lib/ey-core/models/provider.rb +59 -59
  218. data/lib/ey-core/models/provider_location.rb +24 -24
  219. data/lib/ey-core/models/request.rb +109 -109
  220. data/lib/ey-core/models/server.rb +151 -151
  221. data/lib/ey-core/models/server_event.rb +11 -11
  222. data/lib/ey-core/models/server_usage.rb +15 -15
  223. data/lib/ey-core/models/service.rb +10 -10
  224. data/lib/ey-core/models/simple_auto_scaling_policy.rb +24 -24
  225. data/lib/ey-core/models/ssl_certificate.rb +44 -44
  226. data/lib/ey-core/models/step_auto_scaling_policy.rb +24 -24
  227. data/lib/ey-core/models/storage.rb +38 -38
  228. data/lib/ey-core/models/storage_user.rb +44 -44
  229. data/lib/ey-core/models/support_trial.rb +10 -10
  230. data/lib/ey-core/models/target_auto_scaling_policy.rb +24 -24
  231. data/lib/ey-core/models/task.rb +35 -35
  232. data/lib/ey-core/models/token.rb +24 -24
  233. data/lib/ey-core/models/untracked_address.rb +24 -24
  234. data/lib/ey-core/models/untracked_server.rb +45 -45
  235. data/lib/ey-core/models/user.rb +39 -39
  236. data/lib/ey-core/models/volume.rb +20 -20
  237. data/lib/ey-core/request.rb +21 -21
  238. data/lib/ey-core/request_failure.rb +11 -11
  239. data/lib/ey-core/requests/acknowledge_alert.rb +29 -29
  240. data/lib/ey-core/requests/apply_environment_updates.rb +54 -54
  241. data/lib/ey-core/requests/apply_server_updates.rb +52 -52
  242. data/lib/ey-core/requests/attach_address.rb +53 -53
  243. data/lib/ey-core/requests/authorized_channel.rb +22 -22
  244. data/lib/ey-core/requests/blueprint_environment.rb +72 -72
  245. data/lib/ey-core/requests/boot_environment.rb +187 -187
  246. data/lib/ey-core/requests/bootstrap_logical_database.rb +80 -80
  247. data/lib/ey-core/requests/cancel_account.rb +33 -33
  248. data/lib/ey-core/requests/change_environment_maintenance.rb +38 -38
  249. data/lib/ey-core/requests/create_account.rb +38 -38
  250. data/lib/ey-core/requests/create_addon.rb +35 -35
  251. data/lib/ey-core/requests/create_address.rb +54 -54
  252. data/lib/ey-core/requests/create_alert.rb +63 -63
  253. data/lib/ey-core/requests/create_application.rb +73 -73
  254. data/lib/ey-core/requests/create_application_archive.rb +44 -44
  255. data/lib/ey-core/requests/create_auto_scaling_alarm.rb +69 -69
  256. data/lib/ey-core/requests/create_auto_scaling_group.rb +62 -62
  257. data/lib/ey-core/requests/create_auto_scaling_policy.rb +68 -68
  258. data/lib/ey-core/requests/create_backup_file.rb +52 -52
  259. data/lib/ey-core/requests/create_database_server.rb +72 -72
  260. data/lib/ey-core/requests/create_database_service.rb +57 -57
  261. data/lib/ey-core/requests/create_database_service_snapshot.rb +69 -69
  262. data/lib/ey-core/requests/create_environment.rb +77 -77
  263. data/lib/ey-core/requests/create_environment_variable.rb +39 -39
  264. data/lib/ey-core/requests/create_firewall.rb +62 -62
  265. data/lib/ey-core/requests/create_firewall_rule.rb +60 -60
  266. data/lib/ey-core/requests/create_keypair.rb +42 -42
  267. data/lib/ey-core/requests/create_keypair_deployment.rb +36 -36
  268. data/lib/ey-core/requests/create_load_balancer.rb +62 -62
  269. data/lib/ey-core/requests/create_log.rb +53 -53
  270. data/lib/ey-core/requests/create_logical_database.rb +56 -56
  271. data/lib/ey-core/requests/create_membership.rb +47 -47
  272. data/lib/ey-core/requests/create_message.rb +35 -35
  273. data/lib/ey-core/requests/create_password_reset.rb +38 -38
  274. data/lib/ey-core/requests/create_provider.rb +90 -90
  275. data/lib/ey-core/requests/create_server.rb +121 -121
  276. data/lib/ey-core/requests/create_ssl_certificate.rb +83 -83
  277. data/lib/ey-core/requests/create_storage.rb +64 -64
  278. data/lib/ey-core/requests/create_storage_user.rb +64 -64
  279. data/lib/ey-core/requests/create_task.rb +55 -55
  280. data/lib/ey-core/requests/create_token.rb +24 -24
  281. data/lib/ey-core/requests/create_untracked_address.rb +50 -50
  282. data/lib/ey-core/requests/create_untracked_server.rb +39 -39
  283. data/lib/ey-core/requests/create_user.rb +54 -54
  284. data/lib/ey-core/requests/deploy_environment_application.rb +61 -61
  285. data/lib/ey-core/requests/deprovision_environment.rb +17 -17
  286. data/lib/ey-core/requests/destroy_addon.rb +24 -24
  287. data/lib/ey-core/requests/destroy_auto_scaling_alarm.rb +49 -49
  288. data/lib/ey-core/requests/destroy_auto_scaling_group.rb +44 -44
  289. data/lib/ey-core/requests/destroy_auto_scaling_policy.rb +49 -49
  290. data/lib/ey-core/requests/destroy_blueprint.rb +22 -22
  291. data/lib/ey-core/requests/destroy_database_server.rb +41 -41
  292. data/lib/ey-core/requests/destroy_database_server_snapshot.rb +42 -42
  293. data/lib/ey-core/requests/destroy_database_service.rb +57 -57
  294. data/lib/ey-core/requests/destroy_environment.rb +43 -43
  295. data/lib/ey-core/requests/destroy_firewall.rb +41 -41
  296. data/lib/ey-core/requests/destroy_firewall_rule.rb +41 -41
  297. data/lib/ey-core/requests/destroy_load_balancer.rb +30 -30
  298. data/lib/ey-core/requests/destroy_logical_database.rb +41 -41
  299. data/lib/ey-core/requests/destroy_provider.rb +34 -34
  300. data/lib/ey-core/requests/destroy_server.rb +48 -48
  301. data/lib/ey-core/requests/destroy_ssl_certificate.rb +28 -28
  302. data/lib/ey-core/requests/destroy_storage.rb +33 -33
  303. data/lib/ey-core/requests/destroy_storage_user.rb +38 -38
  304. data/lib/ey-core/requests/destroy_user.rb +29 -29
  305. data/lib/ey-core/requests/detach_address.rb +48 -48
  306. data/lib/ey-core/requests/disable_feature.rb +30 -30
  307. data/lib/ey-core/requests/discover_container_service_deployments.rb +71 -71
  308. data/lib/ey-core/requests/discover_database_server.rb +66 -66
  309. data/lib/ey-core/requests/discover_database_server_snapshots.rb +69 -69
  310. data/lib/ey-core/requests/discover_provider_location.rb +57 -57
  311. data/lib/ey-core/requests/discover_server.rb +60 -60
  312. data/lib/ey-core/requests/download_file.rb +25 -25
  313. data/lib/ey-core/requests/enable_feature.rb +35 -35
  314. data/lib/ey-core/requests/get_account.rb +29 -29
  315. data/lib/ey-core/requests/get_account_cancellation.rb +21 -21
  316. data/lib/ey-core/requests/get_account_referrals.rb +28 -28
  317. data/lib/ey-core/requests/get_account_trial.rb +32 -32
  318. data/lib/ey-core/requests/get_accounts.rb +42 -42
  319. data/lib/ey-core/requests/get_addon.rb +25 -25
  320. data/lib/ey-core/requests/get_addons.rb +24 -24
  321. data/lib/ey-core/requests/get_address.rb +25 -25
  322. data/lib/ey-core/requests/get_addresses.rb +27 -27
  323. data/lib/ey-core/requests/get_alert.rb +21 -21
  324. data/lib/ey-core/requests/get_alerting_environments.rb +41 -41
  325. data/lib/ey-core/requests/get_alerts.rb +44 -44
  326. data/lib/ey-core/requests/get_api_token.rb +19 -19
  327. data/lib/ey-core/requests/get_application.rb +21 -21
  328. data/lib/ey-core/requests/get_application_archive.rb +32 -32
  329. data/lib/ey-core/requests/get_application_archives.rb +29 -29
  330. data/lib/ey-core/requests/get_application_deployment.rb +21 -21
  331. data/lib/ey-core/requests/get_application_deployments.rb +28 -28
  332. data/lib/ey-core/requests/get_applications.rb +28 -28
  333. data/lib/ey-core/requests/get_auto_scaling_alarm.rb +27 -27
  334. data/lib/ey-core/requests/get_auto_scaling_alarms.rb +34 -34
  335. data/lib/ey-core/requests/get_auto_scaling_group.rb +21 -21
  336. data/lib/ey-core/requests/get_auto_scaling_groups.rb +29 -29
  337. data/lib/ey-core/requests/get_auto_scaling_policies.rb +46 -46
  338. data/lib/ey-core/requests/get_auto_scaling_policy.rb +27 -27
  339. data/lib/ey-core/requests/get_backup_file.rb +21 -21
  340. data/lib/ey-core/requests/get_backup_files.rb +28 -28
  341. data/lib/ey-core/requests/get_billing.rb +24 -24
  342. data/lib/ey-core/requests/get_blueprint.rb +21 -21
  343. data/lib/ey-core/requests/get_blueprints.rb +29 -29
  344. data/lib/ey-core/requests/get_component.rb +21 -21
  345. data/lib/ey-core/requests/get_components.rb +29 -29
  346. data/lib/ey-core/requests/get_contacts.rb +34 -34
  347. data/lib/ey-core/requests/get_costs.rb +25 -25
  348. data/lib/ey-core/requests/get_current_user.rb +19 -19
  349. data/lib/ey-core/requests/get_database_plan_usages.rb +24 -24
  350. data/lib/ey-core/requests/get_database_server.rb +21 -21
  351. data/lib/ey-core/requests/get_database_server_revisions.rb +27 -27
  352. data/lib/ey-core/requests/get_database_server_snapshot.rb +20 -20
  353. data/lib/ey-core/requests/get_database_server_snapshots.rb +39 -39
  354. data/lib/ey-core/requests/get_database_server_usages.rb +24 -24
  355. data/lib/ey-core/requests/get_database_servers.rb +30 -30
  356. data/lib/ey-core/requests/get_database_servers_firewalls.rb +30 -30
  357. data/lib/ey-core/requests/get_database_service.rb +20 -20
  358. data/lib/ey-core/requests/get_database_services.rb +55 -55
  359. data/lib/ey-core/requests/get_deployment.rb +19 -19
  360. data/lib/ey-core/requests/get_deployments.rb +29 -29
  361. data/lib/ey-core/requests/get_environment.rb +21 -21
  362. data/lib/ey-core/requests/get_environment_database_services.rb +21 -21
  363. data/lib/ey-core/requests/get_environment_logical_databases.rb +20 -20
  364. data/lib/ey-core/requests/get_environment_plan_usages.rb +24 -24
  365. data/lib/ey-core/requests/get_environment_variable.rb +19 -19
  366. data/lib/ey-core/requests/get_environment_variables.rb +29 -29
  367. data/lib/ey-core/requests/get_environments.rb +29 -29
  368. data/lib/ey-core/requests/get_feature.rb +21 -21
  369. data/lib/ey-core/requests/get_features.rb +28 -28
  370. data/lib/ey-core/requests/get_firewall.rb +21 -21
  371. data/lib/ey-core/requests/get_firewall_rule.rb +21 -21
  372. data/lib/ey-core/requests/get_firewall_rules.rb +29 -29
  373. data/lib/ey-core/requests/get_firewalls.rb +45 -45
  374. data/lib/ey-core/requests/get_gem.rb +24 -24
  375. data/lib/ey-core/requests/get_keypair.rb +21 -21
  376. data/lib/ey-core/requests/get_keypair_deployment.rb +21 -21
  377. data/lib/ey-core/requests/get_keypair_deployments.rb +29 -29
  378. data/lib/ey-core/requests/get_keypairs.rb +34 -34
  379. data/lib/ey-core/requests/get_legacy_alert.rb +21 -21
  380. data/lib/ey-core/requests/get_legacy_alerts.rb +29 -29
  381. data/lib/ey-core/requests/get_load_balancer.rb +21 -21
  382. data/lib/ey-core/requests/get_load_balancer_node.rb +21 -21
  383. data/lib/ey-core/requests/get_load_balancer_nodes.rb +30 -30
  384. data/lib/ey-core/requests/get_load_balancer_service.rb +21 -21
  385. data/lib/ey-core/requests/get_load_balancer_services.rb +30 -30
  386. data/lib/ey-core/requests/get_load_balancers.rb +29 -29
  387. data/lib/ey-core/requests/get_log.rb +21 -21
  388. data/lib/ey-core/requests/get_logical_database.rb +23 -23
  389. data/lib/ey-core/requests/get_logical_databases.rb +36 -36
  390. data/lib/ey-core/requests/get_logs.rb +37 -37
  391. data/lib/ey-core/requests/get_membership.rb +21 -21
  392. data/lib/ey-core/requests/get_memberships.rb +29 -29
  393. data/lib/ey-core/requests/get_message.rb +28 -28
  394. data/lib/ey-core/requests/get_messages.rb +27 -27
  395. data/lib/ey-core/requests/get_metadata.rb +22 -22
  396. data/lib/ey-core/requests/get_operational_contact.rb +21 -21
  397. data/lib/ey-core/requests/get_operational_contacts.rb +20 -20
  398. data/lib/ey-core/requests/get_plan_usages.rb +24 -24
  399. data/lib/ey-core/requests/get_possible_provider_locations.rb +19 -19
  400. data/lib/ey-core/requests/get_provider.rb +21 -21
  401. data/lib/ey-core/requests/get_provider_location.rb +29 -29
  402. data/lib/ey-core/requests/get_provider_locations.rb +28 -28
  403. data/lib/ey-core/requests/get_providers.rb +28 -28
  404. data/lib/ey-core/requests/get_request.rb +71 -71
  405. data/lib/ey-core/requests/get_requests.rb +29 -29
  406. data/lib/ey-core/requests/get_server.rb +34 -34
  407. data/lib/ey-core/requests/get_server_event.rb +20 -20
  408. data/lib/ey-core/requests/get_server_events.rb +28 -28
  409. data/lib/ey-core/requests/get_server_usages.rb +24 -24
  410. data/lib/ey-core/requests/get_servers.rb +25 -25
  411. data/lib/ey-core/requests/get_ssl_certificate.rb +23 -23
  412. data/lib/ey-core/requests/get_ssl_certificates.rb +28 -28
  413. data/lib/ey-core/requests/get_storage.rb +21 -21
  414. data/lib/ey-core/requests/get_storage_user.rb +21 -21
  415. data/lib/ey-core/requests/get_storage_users.rb +28 -28
  416. data/lib/ey-core/requests/get_storages.rb +28 -28
  417. data/lib/ey-core/requests/get_support_trial.rb +51 -51
  418. data/lib/ey-core/requests/get_task.rb +21 -21
  419. data/lib/ey-core/requests/get_tasks.rb +28 -28
  420. data/lib/ey-core/requests/get_token.rb +21 -21
  421. data/lib/ey-core/requests/get_token_by_login.rb +30 -30
  422. data/lib/ey-core/requests/get_tokens.rb +32 -32
  423. data/lib/ey-core/requests/get_untracked_server.rb +18 -18
  424. data/lib/ey-core/requests/get_untracked_servers.rb +24 -24
  425. data/lib/ey-core/requests/get_user.rb +21 -21
  426. data/lib/ey-core/requests/get_users.rb +42 -42
  427. data/lib/ey-core/requests/get_volume.rb +21 -21
  428. data/lib/ey-core/requests/get_volumes.rb +28 -28
  429. data/lib/ey-core/requests/reboot_server.rb +39 -39
  430. data/lib/ey-core/requests/reconcile_server.rb +39 -39
  431. data/lib/ey-core/requests/request_callback.rb +26 -26
  432. data/lib/ey-core/requests/reset_password.rb +31 -31
  433. data/lib/ey-core/requests/reset_server_state.rb +32 -32
  434. data/lib/ey-core/requests/restart_environment_app_servers.rb +38 -38
  435. data/lib/ey-core/requests/retrieve_docker_registry_credentials.rb +24 -24
  436. data/lib/ey-core/requests/run_cluster_application_action.rb +28 -28
  437. data/lib/ey-core/requests/run_environment_application_action.rb +29 -29
  438. data/lib/ey-core/requests/signup.rb +56 -56
  439. data/lib/ey-core/requests/start_server.rb +39 -39
  440. data/lib/ey-core/requests/stop_server.rb +39 -39
  441. data/lib/ey-core/requests/timeout_deployment.rb +27 -27
  442. data/lib/ey-core/requests/unassign_environment.rb +31 -31
  443. data/lib/ey-core/requests/update_addon.rb +28 -28
  444. data/lib/ey-core/requests/update_address.rb +29 -29
  445. data/lib/ey-core/requests/update_alert.rb +32 -32
  446. data/lib/ey-core/requests/update_application_archive.rb +23 -23
  447. data/lib/ey-core/requests/update_auto_scaling_alarm.rb +45 -45
  448. data/lib/ey-core/requests/update_auto_scaling_group.rb +45 -45
  449. data/lib/ey-core/requests/update_auto_scaling_policy.rb +46 -46
  450. data/lib/ey-core/requests/update_billing.rb +26 -26
  451. data/lib/ey-core/requests/update_blueprint.rb +29 -29
  452. data/lib/ey-core/requests/update_connector.rb +32 -32
  453. data/lib/ey-core/requests/update_environment.rb +17 -17
  454. data/lib/ey-core/requests/update_environment_variable.rb +25 -25
  455. data/lib/ey-core/requests/update_membership.rb +29 -29
  456. data/lib/ey-core/requests/update_provider_location.rb +29 -29
  457. data/lib/ey-core/requests/update_server.rb +29 -29
  458. data/lib/ey-core/requests/update_ssl_certificate.rb +25 -25
  459. data/lib/ey-core/requests/update_untracked_server.rb +24 -24
  460. data/lib/ey-core/requests/upload_file.rb +44 -44
  461. data/lib/ey-core/requests/upload_recipes_for_environment.rb +28 -28
  462. data/lib/ey-core/response.rb +59 -59
  463. data/lib/ey-core/response_cache.rb +29 -29
  464. data/lib/ey-core/subscribable.rb +60 -60
  465. data/lib/ey-core/test_helpers/account_helpers.rb +73 -73
  466. data/lib/ey-core/test_helpers/alert_helpers.rb +16 -16
  467. data/lib/ey-core/test_helpers/auto_scaling_helpers.rb +35 -35
  468. data/lib/ey-core/test_helpers/client_helpers.rb +40 -40
  469. data/lib/ey-core/test_helpers/cucumber.rb +3 -3
  470. data/lib/ey-core/test_helpers/resource_helpers.rb +196 -196
  471. data/lib/ey-core/test_helpers/rspec.rb +5 -5
  472. data/lib/ey-core/test_helpers.rb +17 -17
  473. data/lib/ey-core/token_authentication.rb +13 -13
  474. data/lib/ey-core/version.rb +5 -5
  475. data/lib/ey-core.rb +59 -59
  476. data/spec/account_spec.rb +65 -65
  477. data/spec/account_trial_spec.rb +17 -17
  478. data/spec/accounts_referrals_spec.rb +20 -20
  479. data/spec/accounts_spec.rb +113 -113
  480. data/spec/addons_and_vars_spec.rb +62 -62
  481. data/spec/addresses_spec.rb +57 -57
  482. data/spec/alerts_spec.rb +155 -155
  483. data/spec/application_archives_spec.rb +39 -39
  484. data/spec/applications_spec.rb +65 -65
  485. data/spec/auto_scaling_alarms_spec.rb +40 -40
  486. data/spec/auto_scaling_groups_spec.rb +28 -28
  487. data/spec/auto_scaling_policies_spec.rb +94 -94
  488. data/spec/billing_spec.rb +31 -31
  489. data/spec/blueprints_spec.rb +47 -47
  490. data/spec/client_spec.rb +16 -16
  491. data/spec/collection_spec.rb +43 -43
  492. data/spec/costs_spec.rb +22 -22
  493. data/spec/database_plan_usage_spec.rb +39 -39
  494. data/spec/database_server_snapshots_spec.rb +41 -41
  495. data/spec/database_server_usage_spec.rb +49 -49
  496. data/spec/database_servers_spec.rb +61 -61
  497. data/spec/database_services_spec.rb +76 -76
  498. data/spec/deployments_spec.rb +24 -24
  499. data/spec/docker_registry_credentials_spec.rb +16 -16
  500. data/spec/environment_plan_usage_spec.rb +38 -38
  501. data/spec/environments_spec.rb +212 -212
  502. data/spec/ey-core/cli/accounts_spec.rb +20 -20
  503. data/spec/ey-core/cli/helpers/server_sieve_spec.rb +226 -226
  504. data/spec/ey-core/cli/recipes/apply_spec.rb +34 -34
  505. data/spec/ey-core/cli/recipes/download_spec.rb +93 -93
  506. data/spec/ey-core/cli/recipes/upload_spec.rb +80 -80
  507. data/spec/features_spec.rb +79 -79
  508. data/spec/firewalls_spec.rb +84 -84
  509. data/spec/gems_spec.rb +11 -11
  510. data/spec/keypair_deployments_spec.rb +33 -33
  511. data/spec/keypairs_spec.rb +51 -51
  512. data/spec/legacy_alerts_spec.rb +44 -44
  513. data/spec/load_balancers_spec.rb +31 -31
  514. data/spec/logical_databases_spec.rb +38 -38
  515. data/spec/logs_spec.rb +44 -44
  516. data/spec/memberships_spec.rb +73 -73
  517. data/spec/messages_spec.rb +27 -27
  518. data/spec/metadata_spec.rb +11 -11
  519. data/spec/plan_usage_spec.rb +65 -65
  520. data/spec/provider_locations_spec.rb +85 -85
  521. data/spec/providers_spec.rb +105 -105
  522. data/spec/requests/upload_file_spec.rb +25 -25
  523. data/spec/requests_spec.rb +23 -23
  524. data/spec/reset_password_spec.rb +22 -22
  525. data/spec/server_events_spec.rb +31 -31
  526. data/spec/server_usage_spec.rb +70 -70
  527. data/spec/servers_spec.rb +202 -202
  528. data/spec/services_spec.rb +9 -9
  529. data/spec/signups_spec.rb +45 -45
  530. data/spec/spec_helper.rb +27 -27
  531. data/spec/ssl_certificates_spec.rb +94 -94
  532. data/spec/storages_spec.rb +57 -57
  533. data/spec/support/cli_helpers.rb +47 -47
  534. data/spec/support/core.rb +21 -21
  535. data/spec/support/coverage.rb +43 -43
  536. data/spec/support/fake_kernel.rb +21 -21
  537. data/spec/support/helpers.rb +1 -1
  538. data/spec/support/timecop.rb +8 -8
  539. data/spec/support_trial_spec.rb +33 -33
  540. data/spec/tokens_spec.rb +59 -59
  541. data/spec/untracked_servers_spec.rb +59 -59
  542. data/spec/users_spec.rb +108 -108
  543. metadata +7 -4
@@ -1,83 +1,83 @@
1
- module Ey
2
- module Core
3
- module Cli
4
- module Helpers
5
- class ServerSieve
6
- ROLES = [
7
- :app_servers,
8
- :db_servers,
9
- :app_master,
10
- :db_master,
11
- :utilities
12
- ]
13
-
14
- attr_reader :servers_api, :options
15
-
16
- def self.filter(servers_api, options = {})
17
- new(servers_api, options).filtered
18
- end
19
-
20
- def initialize(servers_api, options = {})
21
- @servers_api = servers_api
22
- @options = options
23
- end
24
-
25
- def filtered
26
- return all_servers if requested?(:all)
27
-
28
- requested_roles.map {|role|
29
- role == :utilities ? utils_named(option(:utilities)) : send(role)
30
- }.flatten.uniq
31
- end
32
-
33
- private
34
- def requested_roles
35
- #self.class::
36
- ROLES.select {|role| requested?(role)}
37
- end
38
-
39
- def option(name)
40
- options[name]
41
- end
42
-
43
- def requested?(name)
44
- option(name)
45
- end
46
-
47
- def all_servers
48
- servers_api.all.to_a.uniq
49
- end
50
-
51
- def app_servers
52
- ['app_master', 'app', 'solo'].
53
- map {|role| servers_api.all(role: role).to_a}.
54
- flatten
55
- end
56
-
57
- def db_servers
58
- db_master + servers_api.all(role: 'db_slave').to_a
59
- end
60
-
61
- def app_master
62
- ['app_master', 'solo'].
63
- map {|role| servers_api.all(role:role).to_a}.
64
- flatten
65
- end
66
-
67
- def db_master
68
- ['db_master', 'solo'].
69
- map {|role| servers_api.all(role: role).to_a}.
70
- flatten
71
- end
72
-
73
- def utils_named(name)
74
- filter = {role: 'util'}
75
- filter[:name] = name unless name.downcase == 'all'
76
-
77
- servers_api.all(filter).to_a
78
- end
79
- end
80
- end
81
- end
82
- end
83
- end
1
+ module Ey
2
+ module Core
3
+ module Cli
4
+ module Helpers
5
+ class ServerSieve
6
+ ROLES = [
7
+ :app_servers,
8
+ :db_servers,
9
+ :app_master,
10
+ :db_master,
11
+ :utilities
12
+ ]
13
+
14
+ attr_reader :servers_api, :options
15
+
16
+ def self.filter(servers_api, options = {})
17
+ new(servers_api, options).filtered
18
+ end
19
+
20
+ def initialize(servers_api, options = {})
21
+ @servers_api = servers_api
22
+ @options = options
23
+ end
24
+
25
+ def filtered
26
+ return all_servers if requested?(:all)
27
+
28
+ requested_roles.map {|role|
29
+ role == :utilities ? utils_named(option(:utilities)) : send(role)
30
+ }.flatten.uniq
31
+ end
32
+
33
+ private
34
+ def requested_roles
35
+ #self.class::
36
+ ROLES.select {|role| requested?(role)}
37
+ end
38
+
39
+ def option(name)
40
+ options[name]
41
+ end
42
+
43
+ def requested?(name)
44
+ option(name)
45
+ end
46
+
47
+ def all_servers
48
+ servers_api.all.to_a.uniq
49
+ end
50
+
51
+ def app_servers
52
+ ['app_master', 'app', 'solo'].
53
+ map {|role| servers_api.all(role: role).to_a}.
54
+ flatten
55
+ end
56
+
57
+ def db_servers
58
+ db_master + servers_api.all(role: 'db_slave').to_a
59
+ end
60
+
61
+ def app_master
62
+ ['app_master', 'solo'].
63
+ map {|role| servers_api.all(role:role).to_a}.
64
+ flatten
65
+ end
66
+
67
+ def db_master
68
+ ['db_master', 'solo'].
69
+ map {|role| servers_api.all(role: role).to_a}.
70
+ flatten
71
+ end
72
+
73
+ def utils_named(name)
74
+ filter = {role: 'util'}
75
+ filter[:name] = name unless name.downcase == 'all'
76
+
77
+ servers_api.all(filter).to_a
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
@@ -1,42 +1,42 @@
1
- module Ey
2
- module Core
3
- module Cli
4
- module Helpers
5
- module StreamPrinter
6
-
7
- def stream_print(opts)
8
- yield Printer.new(opts)
9
- end
10
-
11
- class Printer
12
- def initialize(rows = {})
13
- @rows = rows
14
- end
15
- def print(*vals)
16
- unless @header_printed
17
- header = []
18
- separator = []
19
- @rows.each do |k,v|
20
- header << format(k, v)
21
- separator << '-' * v
22
- end
23
- puts header.join("| ")
24
- puts separator.join("|-")
25
- @header_printed = true
26
- end
27
- line = []
28
- vals.each_with_index do |v,index|
29
- line << format(v, @rows.values[index])
30
- end
31
- puts line.join("| ")
32
- end
33
- def format(value, width)
34
- TablePrint::FixedWidthFormatter.new(width).format(value)
35
- end
36
- end
37
-
38
- end
39
- end
40
- end
41
- end
42
- end
1
+ module Ey
2
+ module Core
3
+ module Cli
4
+ module Helpers
5
+ module StreamPrinter
6
+
7
+ def stream_print(opts)
8
+ yield Printer.new(opts)
9
+ end
10
+
11
+ class Printer
12
+ def initialize(rows = {})
13
+ @rows = rows
14
+ end
15
+ def print(*vals)
16
+ unless @header_printed
17
+ header = []
18
+ separator = []
19
+ @rows.each do |k,v|
20
+ header << format(k, v)
21
+ separator << '-' * v
22
+ end
23
+ puts header.join("| ")
24
+ puts separator.join("|-")
25
+ @header_printed = true
26
+ end
27
+ line = []
28
+ vals.each_with_index do |v,index|
29
+ line << format(v, @rows.values[index])
30
+ end
31
+ puts line.join("| ")
32
+ end
33
+ def format(value, width)
34
+ TablePrint::FixedWidthFormatter.new(width).format(value)
35
+ end
36
+ end
37
+
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -1,14 +1,14 @@
1
- require 'ey-core/cli/subcommand'
2
- require 'ey-core/cli/helpers/deprecated'
3
-
4
- module Ey
5
- module Core
6
- module Cli
7
- class Init < Subcommand
8
- include Helpers::Deprecated
9
-
10
- deprecate('init')
11
- end
12
- end
13
- end
14
- end
1
+ require 'ey-core/cli/subcommand'
2
+ require 'ey-core/cli/helpers/deprecated'
3
+
4
+ module Ey
5
+ module Core
6
+ module Cli
7
+ class Init < Subcommand
8
+ include Helpers::Deprecated
9
+
10
+ deprecate('init')
11
+ end
12
+ end
13
+ end
14
+ end
@@ -1,38 +1,38 @@
1
- require 'ey-core/cli/subcommand'
2
-
3
- module Ey
4
- module Core
5
- module Cli
6
- class Login < Subcommand
7
- title "login"
8
- summary "Retrieve API token from Engine Yard Cloud"
9
-
10
- def handle
11
- email = ENV["EMAIL"] || ask("Email: ")
12
- password = ENV["PASSWORD"] || ask("Password: ") { |q| q.echo = false }
13
-
14
- token = unauthenticated_core_client.
15
- get_api_token(email, password).
16
- body["api_token"]
17
-
18
- existing_token = core_yaml[core_url]
19
- write_token= if existing_token && existing_token != token
20
- puts "New token does not match existing token. Overwriting".yellow
21
- true
22
- elsif existing_token == token
23
- puts "Token already exists".green
24
- false
25
- else
26
- puts "Writing token".green
27
- true
28
- end
29
-
30
- write_core_yaml(token) if write_token
31
-
32
- rescue Ey::Core::Response::Unauthorized
33
- abort "Invalid email or password".yellow
34
- end
35
- end
36
- end
37
- end
38
- end
1
+ require 'ey-core/cli/subcommand'
2
+
3
+ module Ey
4
+ module Core
5
+ module Cli
6
+ class Login < Subcommand
7
+ title "login"
8
+ summary "Retrieve API token from Engine Yard Cloud"
9
+
10
+ def handle
11
+ email = ENV["EMAIL"] || ask("Email: ")
12
+ password = ENV["PASSWORD"] || ask("Password: ") { |q| q.echo = false }
13
+
14
+ token = unauthenticated_core_client.
15
+ get_api_token(email, password).
16
+ body["api_token"]
17
+
18
+ existing_token = core_yaml[core_url]
19
+ write_token= if existing_token && existing_token != token
20
+ puts "New token does not match existing token. Overwriting".yellow
21
+ true
22
+ elsif existing_token == token
23
+ puts "Token already exists".green
24
+ false
25
+ else
26
+ puts "Writing token".green
27
+ true
28
+ end
29
+
30
+ write_core_yaml(token) if write_token
31
+
32
+ rescue Ey::Core::Response::Unauthorized
33
+ abort "Invalid email or password".yellow
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -1,22 +1,22 @@
1
- require 'ey-core/cli/subcommand'
2
-
3
- module Ey
4
- module Core
5
- module Cli
6
- class Logout < Subcommand
7
- title "logout"
8
- summary "Remove your Engine Yard API token"
9
-
10
- def handle
11
- if core_yaml[core_url]
12
- core_yaml.delete(core_url)
13
- write_core_yaml
14
- puts "Successfully removed API token from credentials file".green
15
- else
16
- puts "No API token found".yellow
17
- end
18
- end
19
- end
20
- end
21
- end
22
- end
1
+ require 'ey-core/cli/subcommand'
2
+
3
+ module Ey
4
+ module Core
5
+ module Cli
6
+ class Logout < Subcommand
7
+ title "logout"
8
+ summary "Remove your Engine Yard API token"
9
+
10
+ def handle
11
+ if core_yaml[core_url]
12
+ core_yaml.delete(core_url)
13
+ write_core_yaml
14
+ puts "Successfully removed API token from credentials file".green
15
+ else
16
+ puts "No API token found".yellow
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -1,70 +1,70 @@
1
- require 'ey-core/cli/subcommand'
2
-
3
- module Ey
4
- module Core
5
- module Cli
6
- class Logs < Subcommand
7
- title "logs"
8
- summary "Retrieve the latest logs for an environment"
9
- description <<-DESC
10
- Displays Engine Yard configuration logs for all servers in the environment. If
11
- recipes were uploaded to the environment & run, their logs will also be
12
- displayed beneath the main configuration logs.
13
- DESC
14
-
15
- option :environment,
16
- short: "e",
17
- long: "environment",
18
- description: "Name or id of the environment to deploy to.",
19
- argument: "Environment"
20
-
21
- option :account,
22
- short: 'c',
23
- long: 'account',
24
- description: 'Name or ID of the account that the environment resides in. If no account is specified, the app will deploy to the first environment that meets the criteria, in the accounts you have access to.',
25
- argument: 'Account name or id'
26
-
27
- option :server,
28
- short: 's',
29
- long: 'server',
30
- description: "Only retrieve logs for the specified server",
31
- argument: "id or amazon_id"
32
-
33
- def handle
34
- operator, environment = core_operator_and_environment_for(options)
35
- abort "Unable to find matching environment".red unless environment
36
-
37
- servers = if option(:server)
38
- if option(:server).match(/i-/)
39
- environment.servers.all(provisioned_id: option(:server))
40
- else
41
- [environment.servers.get(option(:server))].compact
42
- end
43
- else
44
- environment.servers.all
45
- end
46
-
47
- abort "No servers found".red if servers.empty?
48
-
49
- servers.each do |server|
50
- name = [server.provisioned_id, server.name, server.role].compact.join(" ")
51
-
52
- if main_log = server.latest_main_log
53
- puts "Main logs for #{name}:".green
54
- puts main_log.contents
55
- if custom_log = server.latest_custom_log
56
- #only older stack versions will have custom logs at all, so to avoid showing in-accurate logs, ensure the latest custom log is created (run) chronologically after the latest main log
57
- if main_log.created_at < custom_log.created_at
58
- puts "Custom logs for #{name}:".green
59
- puts custom_log.contents
60
- end
61
- end
62
- else
63
- puts "No Logs".yellow
64
- end
65
- end
66
- end
67
- end
68
- end
69
- end
70
- end
1
+ require 'ey-core/cli/subcommand'
2
+
3
+ module Ey
4
+ module Core
5
+ module Cli
6
+ class Logs < Subcommand
7
+ title "logs"
8
+ summary "Retrieve the latest logs for an environment"
9
+ description <<-DESC
10
+ Displays Engine Yard configuration logs for all servers in the environment. If
11
+ recipes were uploaded to the environment & run, their logs will also be
12
+ displayed beneath the main configuration logs.
13
+ DESC
14
+
15
+ option :environment,
16
+ short: "e",
17
+ long: "environment",
18
+ description: "Name or id of the environment to deploy to.",
19
+ argument: "Environment"
20
+
21
+ option :account,
22
+ short: 'c',
23
+ long: 'account',
24
+ description: 'Name or ID of the account that the environment resides in. If no account is specified, the app will deploy to the first environment that meets the criteria, in the accounts you have access to.',
25
+ argument: 'Account name or id'
26
+
27
+ option :server,
28
+ short: 's',
29
+ long: 'server',
30
+ description: "Only retrieve logs for the specified server",
31
+ argument: "id or amazon_id"
32
+
33
+ def handle
34
+ operator, environment = core_operator_and_environment_for(options)
35
+ abort "Unable to find matching environment".red unless environment
36
+
37
+ servers = if option(:server)
38
+ if option(:server).match(/i-/)
39
+ environment.servers.all(provisioned_id: option(:server))
40
+ else
41
+ [environment.servers.get(option(:server))].compact
42
+ end
43
+ else
44
+ environment.servers.all
45
+ end
46
+
47
+ abort "No servers found".red if servers.empty?
48
+
49
+ servers.each do |server|
50
+ name = [server.provisioned_id, server.name, server.role].compact.join(" ")
51
+
52
+ if main_log = server.latest_main_log
53
+ puts "Main logs for #{name}:".green
54
+ puts main_log.contents
55
+ if custom_log = server.latest_custom_log
56
+ #only older stack versions will have custom logs at all, so to avoid showing in-accurate logs, ensure the latest custom log is created (run) chronologically after the latest main log
57
+ if main_log.created_at < custom_log.created_at
58
+ puts "Custom logs for #{name}:".green
59
+ puts custom_log.contents
60
+ end
61
+ end
62
+ else
63
+ puts "No Logs".yellow
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
@@ -1,66 +1,66 @@
1
- #require 'optparse'
2
- #require 'ostruct'
3
- #require 'ey-core'
4
- require 'ey-core/cli'
5
- require 'amazing_print'
6
- require 'belafonte'
7
- require 'rubygems/package'
8
- require 'escape'
9
- require 'highline/import'
10
-
11
- require 'ey-core/cli/accounts'
12
- require 'ey-core/cli/applications'
13
- require 'ey-core/cli/console'
14
- require 'ey-core/cli/current_user'
15
- require 'ey-core/cli/deploy'
16
- require 'ey-core/cli/docker_registry_login'
17
- require 'ey-core/cli/environments'
18
- require 'ey-core/cli/environment_variables'
19
- require 'ey-core/cli/help'
20
- require 'ey-core/cli/init'
21
- require 'ey-core/cli/login'
22
- require 'ey-core/cli/logout'
23
- require 'ey-core/cli/logs'
24
- require 'ey-core/cli/recipes'
25
- require 'ey-core/cli/scp'
26
- require 'ey-core/cli/servers'
27
- require 'ey-core/cli/ssh'
28
- require 'ey-core/cli/status'
29
- require 'ey-core/cli/timeout_deploy'
30
- require 'ey-core/cli/version'
31
- require 'ey-core/cli/web'
32
- require 'ey-core/cli/whoami'
33
-
34
- module Ey
35
- module Core
36
- module Cli
37
- class Main < Belafonte::App
38
- title "Engineyard CLI"
39
- summary "Successor to the engineyard gem"
40
-
41
- mount Accounts
42
- mount Applications
43
- mount Console
44
- mount CurrentUser
45
- mount Deploy
46
- mount DockerRegistryLogin
47
- mount Environments
48
- mount EnvironmentVariables
49
- mount Help
50
- mount Init
51
- mount Login
52
- mount Logout
53
- mount Logs
54
- mount Recipes::Main
55
- mount Scp
56
- mount Servers
57
- mount Ssh
58
- mount Status
59
- mount TimeoutDeploy
60
- mount Version
61
- mount Web::Main
62
- mount Whoami
63
- end
64
- end
65
- end
66
- end
1
+ #require 'optparse'
2
+ #require 'ostruct'
3
+ #require 'ey-core'
4
+ require 'ey-core/cli'
5
+ require 'amazing_print'
6
+ require 'belafonte'
7
+ require 'rubygems/package'
8
+ require 'escape'
9
+ require 'highline/import'
10
+
11
+ require 'ey-core/cli/accounts'
12
+ require 'ey-core/cli/applications'
13
+ require 'ey-core/cli/console'
14
+ require 'ey-core/cli/current_user'
15
+ require 'ey-core/cli/deploy'
16
+ require 'ey-core/cli/docker_registry_login'
17
+ require 'ey-core/cli/environments'
18
+ require 'ey-core/cli/environment_variables'
19
+ require 'ey-core/cli/help'
20
+ require 'ey-core/cli/init'
21
+ require 'ey-core/cli/login'
22
+ require 'ey-core/cli/logout'
23
+ require 'ey-core/cli/logs'
24
+ require 'ey-core/cli/recipes'
25
+ require 'ey-core/cli/scp'
26
+ require 'ey-core/cli/servers'
27
+ require 'ey-core/cli/ssh'
28
+ require 'ey-core/cli/status'
29
+ require 'ey-core/cli/timeout_deploy'
30
+ require 'ey-core/cli/version'
31
+ require 'ey-core/cli/web'
32
+ require 'ey-core/cli/whoami'
33
+
34
+ module Ey
35
+ module Core
36
+ module Cli
37
+ class Main < Belafonte::App
38
+ title "Engineyard CLI"
39
+ summary "Successor to the engineyard gem"
40
+
41
+ mount Accounts
42
+ mount Applications
43
+ mount Console
44
+ mount CurrentUser
45
+ mount Deploy
46
+ mount DockerRegistryLogin
47
+ mount Environments
48
+ mount EnvironmentVariables
49
+ mount Help
50
+ mount Init
51
+ mount Login
52
+ mount Logout
53
+ mount Logs
54
+ mount Recipes::Main
55
+ mount Scp
56
+ mount Servers
57
+ mount Ssh
58
+ mount Status
59
+ mount TimeoutDeploy
60
+ mount Version
61
+ mount Web::Main
62
+ mount Whoami
63
+ end
64
+ end
65
+ end
66
+ end