ey-core 3.4.4 → 3.4.5

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 (503) hide show
  1. checksums.yaml +5 -5
  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 +166 -166
  7. data/Gemfile +21 -21
  8. data/Guardfile +15 -15
  9. data/LICENSE.txt +19 -19
  10. data/README.md +78 -78
  11. data/Rakefile +18 -18
  12. data/bin/console +4 -0
  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/environments.feature +30 -30
  25. data/features/init.feature +6 -6
  26. data/features/login.feature +6 -6
  27. data/features/scp.feature +6 -6
  28. data/features/step_definitions/accounts_steps.rb +23 -23
  29. data/features/step_definitions/applications_steps.rb +46 -46
  30. data/features/step_definitions/current_user_steps.rb +11 -11
  31. data/features/step_definitions/deprecated_command_steps.rb +3 -3
  32. data/features/step_definitions/environments_steps.rb +37 -37
  33. data/features/step_definitions/version_steps.rb +3 -3
  34. data/features/support/account_helpers.rb +89 -89
  35. data/features/support/app_helpers.rb +19 -19
  36. data/features/support/aruba.rb +1 -1
  37. data/features/support/boilerplate.rb +1 -1
  38. data/features/support/client_helpers.rb +36 -36
  39. data/features/support/config_file_helpers.rb +42 -42
  40. data/features/support/core.rb +19 -19
  41. data/features/support/deployment_helpers.rb +19 -19
  42. data/features/support/env.rb +40 -40
  43. data/features/support/environment_helpers.rb +23 -23
  44. data/features/support/fake_kernel.rb +23 -23
  45. data/features/support/io.rb +5 -5
  46. data/features/support/mock_api.rb +21 -21
  47. data/features/support/output_helpers.rb +7 -7
  48. data/features/support/resource_helpers.rb +189 -189
  49. data/features/support/server_helpers.rb +27 -27
  50. data/features/version.feature +8 -8
  51. data/features/whoami.feature +14 -14
  52. data/lib/ey-core/associations.rb +155 -155
  53. data/lib/ey-core/cli/accounts.rb +17 -17
  54. data/lib/ey-core/cli/applications.rb +36 -36
  55. data/lib/ey-core/cli/console.rb +28 -28
  56. data/lib/ey-core/cli/current_user.rb +16 -16
  57. data/lib/ey-core/cli/deploy.rb +123 -123
  58. data/lib/ey-core/cli/environments.rb +39 -39
  59. data/lib/ey-core/cli/errors.rb +11 -11
  60. data/lib/ey-core/cli/help.rb +30 -30
  61. data/lib/ey-core/cli/helpers/archive.rb +70 -70
  62. data/lib/ey-core/cli/helpers/chef.rb +51 -51
  63. data/lib/ey-core/cli/helpers/core.rb +196 -196
  64. data/lib/ey-core/cli/helpers/deprecated.rb +39 -39
  65. data/lib/ey-core/cli/helpers/log_streaming.rb +41 -41
  66. data/lib/ey-core/cli/helpers/server_sieve.rb +76 -76
  67. data/lib/ey-core/cli/helpers/stream_printer.rb +42 -42
  68. data/lib/ey-core/cli/init.rb +14 -14
  69. data/lib/ey-core/cli/login.rb +38 -38
  70. data/lib/ey-core/cli/logout.rb +22 -22
  71. data/lib/ey-core/cli/logs.rb +70 -70
  72. data/lib/ey-core/cli/main.rb +65 -65
  73. data/lib/ey-core/cli/recipes/apply.rb +65 -65
  74. data/lib/ey-core/cli/recipes/download.rb +52 -52
  75. data/lib/ey-core/cli/recipes/main.rb +21 -21
  76. data/lib/ey-core/cli/recipes/upload.rb +78 -78
  77. data/lib/ey-core/cli/recipes.rb +10 -10
  78. data/lib/ey-core/cli/scp.rb +14 -14
  79. data/lib/ey-core/cli/servers.rb +41 -41
  80. data/lib/ey-core/cli/ssh.rb +150 -150
  81. data/lib/ey-core/cli/status.rb +60 -60
  82. data/lib/ey-core/cli/subcommand.rb +53 -53
  83. data/lib/ey-core/cli/timeout_deploy.rb +58 -58
  84. data/lib/ey-core/cli/version.rb +16 -16
  85. data/lib/ey-core/cli/web/disable.rb +49 -49
  86. data/lib/ey-core/cli/web/enable.rb +46 -46
  87. data/lib/ey-core/cli/web/main.rb +21 -21
  88. data/lib/ey-core/cli/web/restart.rb +42 -42
  89. data/lib/ey-core/cli/web.rb +10 -10
  90. data/lib/ey-core/cli/whoami.rb +12 -12
  91. data/lib/ey-core/cli.rb +8 -8
  92. data/lib/ey-core/client/mock.rb +302 -302
  93. data/lib/ey-core/client/real.rb +93 -93
  94. data/lib/ey-core/client.rb +442 -442
  95. data/lib/ey-core/collection.rb +131 -131
  96. data/lib/ey-core/collections/account_cancellations.rb +6 -6
  97. data/lib/ey-core/collections/account_referrals.rb +10 -10
  98. data/lib/ey-core/collections/accounts.rb +8 -8
  99. data/lib/ey-core/collections/addons.rb +16 -16
  100. data/lib/ey-core/collections/addresses.rb +9 -9
  101. data/lib/ey-core/collections/alerts.rb +9 -9
  102. data/lib/ey-core/collections/application_archives.rb +9 -9
  103. data/lib/ey-core/collections/application_deployments.rb +9 -9
  104. data/lib/ey-core/collections/applications.rb +9 -9
  105. data/lib/ey-core/collections/auto_scaling_groups.rb +8 -8
  106. data/lib/ey-core/collections/backup_files.rb +9 -9
  107. data/lib/ey-core/collections/blueprints.rb +9 -9
  108. data/lib/ey-core/collections/components.rb +9 -9
  109. data/lib/ey-core/collections/contacts.rb +9 -9
  110. data/lib/ey-core/collections/costs.rb +8 -8
  111. data/lib/ey-core/collections/database_plan_usages.rb +7 -7
  112. data/lib/ey-core/collections/database_server_revisions.rb +7 -7
  113. data/lib/ey-core/collections/database_server_snapshots.rb +17 -17
  114. data/lib/ey-core/collections/database_server_usages.rb +7 -7
  115. data/lib/ey-core/collections/database_servers.rb +9 -9
  116. data/lib/ey-core/collections/database_services.rb +9 -9
  117. data/lib/ey-core/collections/deployments.rb +8 -8
  118. data/lib/ey-core/collections/environment_plan_usages.rb +7 -7
  119. data/lib/ey-core/collections/environments.rb +15 -15
  120. data/lib/ey-core/collections/features.rb +9 -9
  121. data/lib/ey-core/collections/firewall_rules.rb +9 -9
  122. data/lib/ey-core/collections/firewalls.rb +9 -9
  123. data/lib/ey-core/collections/gems.rb +6 -6
  124. data/lib/ey-core/collections/keypair_deployments.rb +9 -9
  125. data/lib/ey-core/collections/keypairs.rb +9 -9
  126. data/lib/ey-core/collections/legacy_alerts.rb +9 -9
  127. data/lib/ey-core/collections/load_balancer_nodes.rb +9 -9
  128. data/lib/ey-core/collections/load_balancer_services.rb +9 -9
  129. data/lib/ey-core/collections/load_balancers.rb +16 -16
  130. data/lib/ey-core/collections/logical_databases.rb +16 -16
  131. data/lib/ey-core/collections/logs.rb +9 -9
  132. data/lib/ey-core/collections/memberships.rb +9 -9
  133. data/lib/ey-core/collections/messages.rb +9 -9
  134. data/lib/ey-core/collections/plan_usages.rb +7 -7
  135. data/lib/ey-core/collections/provider_locations.rb +13 -13
  136. data/lib/ey-core/collections/providers.rb +15 -15
  137. data/lib/ey-core/collections/requests.rb +10 -10
  138. data/lib/ey-core/collections/server_events.rb +9 -9
  139. data/lib/ey-core/collections/server_usages.rb +7 -7
  140. data/lib/ey-core/collections/servers.rb +13 -13
  141. data/lib/ey-core/collections/services.rb +14 -14
  142. data/lib/ey-core/collections/ssl_certificates.rb +9 -9
  143. data/lib/ey-core/collections/storage_users.rb +10 -10
  144. data/lib/ey-core/collections/storages.rb +9 -9
  145. data/lib/ey-core/collections/tasks.rb +9 -9
  146. data/lib/ey-core/collections/tokens.rb +9 -9
  147. data/lib/ey-core/collections/untracked_addresses.rb +4 -4
  148. data/lib/ey-core/collections/untracked_servers.rb +9 -9
  149. data/lib/ey-core/collections/users.rb +12 -12
  150. data/lib/ey-core/collections/volumes.rb +9 -9
  151. data/lib/ey-core/logger.rb +31 -31
  152. data/lib/ey-core/memory_cache.rb +17 -17
  153. data/lib/ey-core/mock/helper.rb +104 -104
  154. data/lib/ey-core/mock/params.rb +31 -31
  155. data/lib/ey-core/mock/resources.rb +92 -92
  156. data/lib/ey-core/mock/searching.rb +115 -115
  157. data/lib/ey-core/mock/util.rb +23 -23
  158. data/lib/ey-core/model.rb +44 -44
  159. data/lib/ey-core/models/account.rb +70 -70
  160. data/lib/ey-core/models/account_cancellation.rb +6 -6
  161. data/lib/ey-core/models/account_referral.rb +8 -8
  162. data/lib/ey-core/models/account_trial.rb +15 -15
  163. data/lib/ey-core/models/addon.rb +37 -37
  164. data/lib/ey-core/models/address.rb +57 -57
  165. data/lib/ey-core/models/alert.rb +100 -99
  166. data/lib/ey-core/models/application.rb +32 -32
  167. data/lib/ey-core/models/application_archive.rb +67 -67
  168. data/lib/ey-core/models/application_deployment.rb +18 -18
  169. data/lib/ey-core/models/auto_scaling_group.rb +49 -49
  170. data/lib/ey-core/models/backup_file.rb +52 -52
  171. data/lib/ey-core/models/billing.rb +27 -27
  172. data/lib/ey-core/models/blueprint.rb +30 -30
  173. data/lib/ey-core/models/component.rb +11 -11
  174. data/lib/ey-core/models/contact.rb +14 -14
  175. data/lib/ey-core/models/cost.rb +16 -16
  176. data/lib/ey-core/models/database_plan_usage.rb +10 -10
  177. data/lib/ey-core/models/database_server.rb +56 -56
  178. data/lib/ey-core/models/database_server_revision.rb +10 -10
  179. data/lib/ey-core/models/database_server_snapshot.rb +43 -43
  180. data/lib/ey-core/models/database_server_usage.rb +15 -15
  181. data/lib/ey-core/models/database_service.rb +52 -52
  182. data/lib/ey-core/models/deployment.rb +30 -30
  183. data/lib/ey-core/models/environment.rb +242 -242
  184. data/lib/ey-core/models/environment_plan_usage.rb +10 -10
  185. data/lib/ey-core/models/feature.rb +33 -33
  186. data/lib/ey-core/models/firewall.rb +46 -46
  187. data/lib/ey-core/models/firewall_rule.rb +41 -41
  188. data/lib/ey-core/models/gem.rb +5 -5
  189. data/lib/ey-core/models/keypair.rb +38 -38
  190. data/lib/ey-core/models/keypair_deployment.rb +26 -26
  191. data/lib/ey-core/models/legacy_alert.rb +12 -12
  192. data/lib/ey-core/models/load_balancer.rb +43 -43
  193. data/lib/ey-core/models/load_balancer_node.rb +17 -17
  194. data/lib/ey-core/models/load_balancer_service.rb +22 -22
  195. data/lib/ey-core/models/log.rb +44 -44
  196. data/lib/ey-core/models/logical_database.rb +40 -40
  197. data/lib/ey-core/models/membership.rb +49 -49
  198. data/lib/ey-core/models/message.rb +27 -27
  199. data/lib/ey-core/models/plan_usage.rb +14 -14
  200. data/lib/ey-core/models/provider.rb +59 -59
  201. data/lib/ey-core/models/provider_location.rb +24 -24
  202. data/lib/ey-core/models/request.rb +105 -105
  203. data/lib/ey-core/models/server.rb +151 -151
  204. data/lib/ey-core/models/server_event.rb +11 -11
  205. data/lib/ey-core/models/server_usage.rb +15 -15
  206. data/lib/ey-core/models/service.rb +10 -10
  207. data/lib/ey-core/models/ssl_certificate.rb +44 -44
  208. data/lib/ey-core/models/storage.rb +38 -38
  209. data/lib/ey-core/models/storage_user.rb +44 -44
  210. data/lib/ey-core/models/support_trial.rb +10 -10
  211. data/lib/ey-core/models/task.rb +35 -35
  212. data/lib/ey-core/models/token.rb +24 -24
  213. data/lib/ey-core/models/untracked_address.rb +24 -24
  214. data/lib/ey-core/models/untracked_server.rb +45 -45
  215. data/lib/ey-core/models/user.rb +39 -39
  216. data/lib/ey-core/models/volume.rb +20 -20
  217. data/lib/ey-core/request.rb +21 -21
  218. data/lib/ey-core/request_failure.rb +11 -11
  219. data/lib/ey-core/requests/acknowledge_alert.rb +29 -29
  220. data/lib/ey-core/requests/apply_environment_updates.rb +54 -54
  221. data/lib/ey-core/requests/apply_server_updates.rb +52 -52
  222. data/lib/ey-core/requests/attach_address.rb +53 -53
  223. data/lib/ey-core/requests/authorized_channel.rb +22 -22
  224. data/lib/ey-core/requests/blueprint_environment.rb +72 -72
  225. data/lib/ey-core/requests/boot_environment.rb +187 -187
  226. data/lib/ey-core/requests/bootstrap_logical_database.rb +80 -80
  227. data/lib/ey-core/requests/cancel_account.rb +33 -33
  228. data/lib/ey-core/requests/change_environment_maintenance.rb +38 -38
  229. data/lib/ey-core/requests/create_account.rb +33 -33
  230. data/lib/ey-core/requests/create_addon.rb +35 -35
  231. data/lib/ey-core/requests/create_address.rb +53 -53
  232. data/lib/ey-core/requests/create_alert.rb +63 -63
  233. data/lib/ey-core/requests/create_application.rb +72 -72
  234. data/lib/ey-core/requests/create_application_archive.rb +44 -44
  235. data/lib/ey-core/requests/create_auto_scaling_group.rb +62 -62
  236. data/lib/ey-core/requests/create_backup_file.rb +52 -52
  237. data/lib/ey-core/requests/create_database_server.rb +72 -72
  238. data/lib/ey-core/requests/create_database_service.rb +57 -57
  239. data/lib/ey-core/requests/create_database_service_snapshot.rb +69 -69
  240. data/lib/ey-core/requests/create_environment.rb +76 -76
  241. data/lib/ey-core/requests/create_firewall.rb +62 -62
  242. data/lib/ey-core/requests/create_firewall_rule.rb +60 -60
  243. data/lib/ey-core/requests/create_keypair.rb +42 -42
  244. data/lib/ey-core/requests/create_keypair_deployment.rb +36 -36
  245. data/lib/ey-core/requests/create_load_balancer.rb +62 -62
  246. data/lib/ey-core/requests/create_log.rb +53 -53
  247. data/lib/ey-core/requests/create_logical_database.rb +56 -56
  248. data/lib/ey-core/requests/create_membership.rb +47 -47
  249. data/lib/ey-core/requests/create_message.rb +35 -35
  250. data/lib/ey-core/requests/create_password_reset.rb +38 -38
  251. data/lib/ey-core/requests/create_provider.rb +90 -90
  252. data/lib/ey-core/requests/create_server.rb +121 -121
  253. data/lib/ey-core/requests/create_ssl_certificate.rb +83 -83
  254. data/lib/ey-core/requests/create_storage.rb +64 -64
  255. data/lib/ey-core/requests/create_storage_user.rb +64 -64
  256. data/lib/ey-core/requests/create_task.rb +55 -55
  257. data/lib/ey-core/requests/create_token.rb +24 -24
  258. data/lib/ey-core/requests/create_untracked_address.rb +50 -50
  259. data/lib/ey-core/requests/create_untracked_server.rb +39 -39
  260. data/lib/ey-core/requests/create_user.rb +52 -52
  261. data/lib/ey-core/requests/deploy_environment_application.rb +60 -60
  262. data/lib/ey-core/requests/deprovision_environment.rb +17 -17
  263. data/lib/ey-core/requests/destroy_addon.rb +24 -24
  264. data/lib/ey-core/requests/destroy_auto_scaling_group.rb +44 -44
  265. data/lib/ey-core/requests/destroy_blueprint.rb +22 -22
  266. data/lib/ey-core/requests/destroy_database_server.rb +41 -41
  267. data/lib/ey-core/requests/destroy_database_server_snapshot.rb +42 -42
  268. data/lib/ey-core/requests/destroy_database_service.rb +57 -57
  269. data/lib/ey-core/requests/destroy_environment.rb +43 -43
  270. data/lib/ey-core/requests/destroy_firewall.rb +41 -41
  271. data/lib/ey-core/requests/destroy_firewall_rule.rb +41 -41
  272. data/lib/ey-core/requests/destroy_load_balancer.rb +30 -30
  273. data/lib/ey-core/requests/destroy_logical_database.rb +41 -41
  274. data/lib/ey-core/requests/destroy_provider.rb +34 -34
  275. data/lib/ey-core/requests/destroy_server.rb +48 -48
  276. data/lib/ey-core/requests/destroy_ssl_certificate.rb +28 -28
  277. data/lib/ey-core/requests/destroy_storage.rb +33 -33
  278. data/lib/ey-core/requests/destroy_storage_user.rb +38 -38
  279. data/lib/ey-core/requests/destroy_user.rb +29 -29
  280. data/lib/ey-core/requests/detach_address.rb +48 -48
  281. data/lib/ey-core/requests/disable_feature.rb +30 -30
  282. data/lib/ey-core/requests/discover_database_server.rb +66 -66
  283. data/lib/ey-core/requests/discover_database_server_snapshots.rb +69 -69
  284. data/lib/ey-core/requests/discover_provider_location.rb +57 -57
  285. data/lib/ey-core/requests/discover_server.rb +60 -60
  286. data/lib/ey-core/requests/download_file.rb +25 -25
  287. data/lib/ey-core/requests/enable_feature.rb +35 -35
  288. data/lib/ey-core/requests/get_account.rb +29 -29
  289. data/lib/ey-core/requests/get_account_cancellation.rb +21 -21
  290. data/lib/ey-core/requests/get_account_referrals.rb +28 -28
  291. data/lib/ey-core/requests/get_account_trial.rb +32 -32
  292. data/lib/ey-core/requests/get_accounts.rb +42 -42
  293. data/lib/ey-core/requests/get_addon.rb +25 -25
  294. data/lib/ey-core/requests/get_addons.rb +24 -24
  295. data/lib/ey-core/requests/get_address.rb +25 -25
  296. data/lib/ey-core/requests/get_addresses.rb +27 -27
  297. data/lib/ey-core/requests/get_alert.rb +21 -21
  298. data/lib/ey-core/requests/get_alerting_environments.rb +41 -41
  299. data/lib/ey-core/requests/get_alerts.rb +44 -44
  300. data/lib/ey-core/requests/get_api_token.rb +19 -19
  301. data/lib/ey-core/requests/get_application.rb +21 -21
  302. data/lib/ey-core/requests/get_application_archive.rb +32 -32
  303. data/lib/ey-core/requests/get_application_archives.rb +29 -29
  304. data/lib/ey-core/requests/get_application_deployment.rb +21 -21
  305. data/lib/ey-core/requests/get_application_deployments.rb +28 -28
  306. data/lib/ey-core/requests/get_applications.rb +28 -28
  307. data/lib/ey-core/requests/get_auto_scaling_group.rb +21 -21
  308. data/lib/ey-core/requests/get_auto_scaling_groups.rb +29 -29
  309. data/lib/ey-core/requests/get_backup_file.rb +21 -21
  310. data/lib/ey-core/requests/get_backup_files.rb +28 -28
  311. data/lib/ey-core/requests/get_billing.rb +24 -24
  312. data/lib/ey-core/requests/get_blueprint.rb +21 -21
  313. data/lib/ey-core/requests/get_blueprints.rb +29 -29
  314. data/lib/ey-core/requests/get_component.rb +21 -21
  315. data/lib/ey-core/requests/get_components.rb +29 -29
  316. data/lib/ey-core/requests/get_contacts.rb +34 -34
  317. data/lib/ey-core/requests/get_costs.rb +25 -25
  318. data/lib/ey-core/requests/get_current_user.rb +19 -19
  319. data/lib/ey-core/requests/get_database_plan_usages.rb +24 -24
  320. data/lib/ey-core/requests/get_database_server.rb +21 -21
  321. data/lib/ey-core/requests/get_database_server_revisions.rb +27 -27
  322. data/lib/ey-core/requests/get_database_server_snapshot.rb +20 -20
  323. data/lib/ey-core/requests/get_database_server_snapshots.rb +39 -39
  324. data/lib/ey-core/requests/get_database_server_usages.rb +24 -24
  325. data/lib/ey-core/requests/get_database_servers.rb +30 -30
  326. data/lib/ey-core/requests/get_database_servers_firewalls.rb +30 -30
  327. data/lib/ey-core/requests/get_database_service.rb +20 -20
  328. data/lib/ey-core/requests/get_database_services.rb +55 -55
  329. data/lib/ey-core/requests/get_deployment.rb +19 -19
  330. data/lib/ey-core/requests/get_deployments.rb +29 -29
  331. data/lib/ey-core/requests/get_environment.rb +21 -21
  332. data/lib/ey-core/requests/get_environment_database_services.rb +21 -21
  333. data/lib/ey-core/requests/get_environment_logical_databases.rb +20 -20
  334. data/lib/ey-core/requests/get_environment_plan_usages.rb +24 -24
  335. data/lib/ey-core/requests/get_environments.rb +29 -29
  336. data/lib/ey-core/requests/get_feature.rb +21 -21
  337. data/lib/ey-core/requests/get_features.rb +28 -28
  338. data/lib/ey-core/requests/get_firewall.rb +21 -21
  339. data/lib/ey-core/requests/get_firewall_rule.rb +21 -21
  340. data/lib/ey-core/requests/get_firewall_rules.rb +29 -29
  341. data/lib/ey-core/requests/get_firewalls.rb +45 -45
  342. data/lib/ey-core/requests/get_gem.rb +24 -24
  343. data/lib/ey-core/requests/get_keypair.rb +21 -21
  344. data/lib/ey-core/requests/get_keypair_deployment.rb +21 -21
  345. data/lib/ey-core/requests/get_keypair_deployments.rb +29 -29
  346. data/lib/ey-core/requests/get_keypairs.rb +34 -34
  347. data/lib/ey-core/requests/get_legacy_alert.rb +21 -21
  348. data/lib/ey-core/requests/get_legacy_alerts.rb +29 -29
  349. data/lib/ey-core/requests/get_load_balancer.rb +21 -21
  350. data/lib/ey-core/requests/get_load_balancer_node.rb +21 -21
  351. data/lib/ey-core/requests/get_load_balancer_nodes.rb +30 -30
  352. data/lib/ey-core/requests/get_load_balancer_service.rb +21 -21
  353. data/lib/ey-core/requests/get_load_balancer_services.rb +30 -30
  354. data/lib/ey-core/requests/get_load_balancers.rb +29 -29
  355. data/lib/ey-core/requests/get_log.rb +21 -21
  356. data/lib/ey-core/requests/get_logical_database.rb +23 -23
  357. data/lib/ey-core/requests/get_logical_databases.rb +36 -36
  358. data/lib/ey-core/requests/get_logs.rb +37 -37
  359. data/lib/ey-core/requests/get_membership.rb +21 -21
  360. data/lib/ey-core/requests/get_memberships.rb +29 -29
  361. data/lib/ey-core/requests/get_message.rb +28 -28
  362. data/lib/ey-core/requests/get_messages.rb +27 -27
  363. data/lib/ey-core/requests/get_metadata.rb +22 -22
  364. data/lib/ey-core/requests/get_operational_contact.rb +21 -21
  365. data/lib/ey-core/requests/get_operational_contacts.rb +20 -20
  366. data/lib/ey-core/requests/get_plan_usages.rb +24 -24
  367. data/lib/ey-core/requests/get_possible_provider_locations.rb +19 -19
  368. data/lib/ey-core/requests/get_provider.rb +21 -21
  369. data/lib/ey-core/requests/get_provider_location.rb +29 -29
  370. data/lib/ey-core/requests/get_provider_locations.rb +28 -28
  371. data/lib/ey-core/requests/get_providers.rb +28 -28
  372. data/lib/ey-core/requests/get_request.rb +71 -71
  373. data/lib/ey-core/requests/get_requests.rb +29 -29
  374. data/lib/ey-core/requests/get_server.rb +34 -34
  375. data/lib/ey-core/requests/get_server_event.rb +20 -20
  376. data/lib/ey-core/requests/get_server_events.rb +28 -28
  377. data/lib/ey-core/requests/get_server_usages.rb +24 -24
  378. data/lib/ey-core/requests/get_servers.rb +25 -25
  379. data/lib/ey-core/requests/get_ssl_certificate.rb +23 -23
  380. data/lib/ey-core/requests/get_ssl_certificates.rb +28 -28
  381. data/lib/ey-core/requests/get_storage.rb +21 -21
  382. data/lib/ey-core/requests/get_storage_user.rb +21 -21
  383. data/lib/ey-core/requests/get_storage_users.rb +28 -28
  384. data/lib/ey-core/requests/get_storages.rb +28 -28
  385. data/lib/ey-core/requests/get_support_trial.rb +51 -51
  386. data/lib/ey-core/requests/get_task.rb +21 -21
  387. data/lib/ey-core/requests/get_tasks.rb +28 -28
  388. data/lib/ey-core/requests/get_token.rb +21 -21
  389. data/lib/ey-core/requests/get_token_by_login.rb +30 -30
  390. data/lib/ey-core/requests/get_tokens.rb +32 -32
  391. data/lib/ey-core/requests/get_untracked_server.rb +18 -18
  392. data/lib/ey-core/requests/get_untracked_servers.rb +24 -24
  393. data/lib/ey-core/requests/get_user.rb +21 -21
  394. data/lib/ey-core/requests/get_users.rb +42 -42
  395. data/lib/ey-core/requests/get_volume.rb +21 -21
  396. data/lib/ey-core/requests/get_volumes.rb +28 -28
  397. data/lib/ey-core/requests/reboot_server.rb +39 -39
  398. data/lib/ey-core/requests/reconcile_server.rb +39 -39
  399. data/lib/ey-core/requests/request_callback.rb +26 -26
  400. data/lib/ey-core/requests/reset_password.rb +31 -31
  401. data/lib/ey-core/requests/reset_server_state.rb +32 -32
  402. data/lib/ey-core/requests/restart_environment_app_servers.rb +38 -38
  403. data/lib/ey-core/requests/run_cluster_application_action.rb +28 -28
  404. data/lib/ey-core/requests/run_environment_application_action.rb +29 -29
  405. data/lib/ey-core/requests/signup.rb +56 -56
  406. data/lib/ey-core/requests/start_server.rb +39 -39
  407. data/lib/ey-core/requests/stop_server.rb +39 -39
  408. data/lib/ey-core/requests/timeout_deployment.rb +27 -27
  409. data/lib/ey-core/requests/unassign_environment.rb +31 -31
  410. data/lib/ey-core/requests/update_addon.rb +28 -28
  411. data/lib/ey-core/requests/update_address.rb +29 -29
  412. data/lib/ey-core/requests/update_alert.rb +32 -32
  413. data/lib/ey-core/requests/update_application_archive.rb +23 -23
  414. data/lib/ey-core/requests/update_auto_scaling_group.rb +45 -45
  415. data/lib/ey-core/requests/update_billing.rb +26 -26
  416. data/lib/ey-core/requests/update_blueprint.rb +29 -29
  417. data/lib/ey-core/requests/update_connector.rb +32 -32
  418. data/lib/ey-core/requests/update_environment.rb +17 -17
  419. data/lib/ey-core/requests/update_membership.rb +29 -29
  420. data/lib/ey-core/requests/update_provider_location.rb +29 -29
  421. data/lib/ey-core/requests/update_server.rb +29 -29
  422. data/lib/ey-core/requests/update_ssl_certificate.rb +25 -25
  423. data/lib/ey-core/requests/update_untracked_server.rb +24 -24
  424. data/lib/ey-core/requests/upload_file.rb +44 -44
  425. data/lib/ey-core/requests/upload_recipes_for_environment.rb +28 -28
  426. data/lib/ey-core/response.rb +59 -59
  427. data/lib/ey-core/response_cache.rb +29 -29
  428. data/lib/ey-core/subscribable.rb +60 -60
  429. data/lib/ey-core/test_helpers/account_helpers.rb +73 -73
  430. data/lib/ey-core/test_helpers/alert_helpers.rb +16 -16
  431. data/lib/ey-core/test_helpers/client_helpers.rb +40 -40
  432. data/lib/ey-core/test_helpers/cucumber.rb +3 -3
  433. data/lib/ey-core/test_helpers/resource_helpers.rb +196 -196
  434. data/lib/ey-core/test_helpers/rspec.rb +5 -5
  435. data/lib/ey-core/test_helpers.rb +15 -15
  436. data/lib/ey-core/token_authentication.rb +13 -13
  437. data/lib/ey-core/version.rb +5 -5
  438. data/lib/ey-core.rb +59 -59
  439. data/spec/account_spec.rb +65 -65
  440. data/spec/account_trial_spec.rb +17 -17
  441. data/spec/accounts_referrals_spec.rb +20 -20
  442. data/spec/accounts_spec.rb +113 -113
  443. data/spec/addons_and_vars_spec.rb +62 -62
  444. data/spec/addresses_spec.rb +56 -56
  445. data/spec/alerts_spec.rb +155 -155
  446. data/spec/application_archives_spec.rb +39 -39
  447. data/spec/applications_spec.rb +65 -65
  448. data/spec/auto_scaling_groups_spec.rb +28 -28
  449. data/spec/billing_spec.rb +31 -31
  450. data/spec/blueprints_spec.rb +47 -47
  451. data/spec/client_spec.rb +16 -16
  452. data/spec/collection_spec.rb +43 -43
  453. data/spec/costs_spec.rb +22 -22
  454. data/spec/database_plan_usage_spec.rb +39 -39
  455. data/spec/database_server_snapshots_spec.rb +41 -41
  456. data/spec/database_server_usage_spec.rb +49 -49
  457. data/spec/database_servers_spec.rb +61 -61
  458. data/spec/database_services_spec.rb +76 -76
  459. data/spec/deployments_spec.rb +24 -24
  460. data/spec/environment_plan_usage_spec.rb +38 -38
  461. data/spec/environments_spec.rb +212 -212
  462. data/spec/ey-core/cli/accounts_spec.rb +20 -20
  463. data/spec/ey-core/cli/helpers/server_sieve_spec.rb +226 -226
  464. data/spec/ey-core/cli/recipes/apply_spec.rb +34 -34
  465. data/spec/ey-core/cli/recipes/download_spec.rb +93 -93
  466. data/spec/ey-core/cli/recipes/upload_spec.rb +80 -80
  467. data/spec/features_spec.rb +79 -79
  468. data/spec/firewalls_spec.rb +84 -84
  469. data/spec/gems_spec.rb +11 -11
  470. data/spec/keypair_deployments_spec.rb +33 -33
  471. data/spec/keypairs_spec.rb +51 -51
  472. data/spec/legacy_alerts_spec.rb +44 -44
  473. data/spec/load_balancers_spec.rb +31 -31
  474. data/spec/logical_databases_spec.rb +38 -38
  475. data/spec/logs_spec.rb +44 -44
  476. data/spec/memberships_spec.rb +73 -73
  477. data/spec/messages_spec.rb +27 -27
  478. data/spec/metadata_spec.rb +11 -11
  479. data/spec/plan_usage_spec.rb +65 -65
  480. data/spec/provider_locations_spec.rb +85 -85
  481. data/spec/providers_spec.rb +105 -105
  482. data/spec/requests/upload_file_spec.rb +25 -25
  483. data/spec/requests_spec.rb +23 -23
  484. data/spec/reset_password_spec.rb +22 -22
  485. data/spec/server_events_spec.rb +31 -31
  486. data/spec/server_usage_spec.rb +70 -70
  487. data/spec/servers_spec.rb +202 -202
  488. data/spec/services_spec.rb +9 -9
  489. data/spec/signups_spec.rb +45 -45
  490. data/spec/spec_helper.rb +20 -20
  491. data/spec/ssl_certificates_spec.rb +94 -94
  492. data/spec/storages_spec.rb +57 -57
  493. data/spec/support/cli_helpers.rb +47 -47
  494. data/spec/support/core.rb +23 -23
  495. data/spec/support/coverage.rb +43 -43
  496. data/spec/support/fake_kernel.rb +21 -21
  497. data/spec/support/helpers.rb +1 -1
  498. data/spec/support/timecop.rb +8 -8
  499. data/spec/support_trial_spec.rb +33 -33
  500. data/spec/tokens_spec.rb +59 -59
  501. data/spec/untracked_servers_spec.rb +59 -59
  502. data/spec/users_spec.rb +108 -108
  503. metadata +6 -5
@@ -1,27 +1,27 @@
1
- module ServerHelpers
2
- def known_servers
3
- begin
4
- recall_fact(:known_servers)
5
- rescue
6
- memorize_fact(:known_servers, [])
7
- end
8
- end
9
-
10
- def seen_servers
11
- begin
12
- recall_fact(:seen_servers)
13
- rescue
14
- memorize_fact(:seen_servers, [])
15
- end
16
- end
17
-
18
- def first_server
19
- known_servers.first
20
- end
21
-
22
- def last_server
23
- known_servers.last
24
- end
25
- end
26
-
27
- World(ServerHelpers)
1
+ module ServerHelpers
2
+ def known_servers
3
+ begin
4
+ recall_fact(:known_servers)
5
+ rescue
6
+ memorize_fact(:known_servers, [])
7
+ end
8
+ end
9
+
10
+ def seen_servers
11
+ begin
12
+ recall_fact(:seen_servers)
13
+ rescue
14
+ memorize_fact(:seen_servers, [])
15
+ end
16
+ end
17
+
18
+ def first_server
19
+ known_servers.first
20
+ end
21
+
22
+ def last_server
23
+ known_servers.last
24
+ end
25
+ end
26
+
27
+ World(ServerHelpers)
@@ -1,8 +1,8 @@
1
- Feature: Version
2
- In order to determine if I'm working with the most recent goodness
3
- As a User
4
- I want to know what version of ey-core I'm using
5
-
6
- Scenario: Displaying the version
7
- When I run `ey-core version`
8
- Then I see the current ey-core version
1
+ Feature: Version
2
+ In order to determine if I'm working with the most recent goodness
3
+ As a User
4
+ I want to know what version of ey-core I'm using
5
+
6
+ Scenario: Displaying the version
7
+ When I run `ey-core version`
8
+ Then I see the current ey-core version
@@ -1,14 +1,14 @@
1
- Feature: Whoami
2
- In order to ensure that I'm logged into the right account
3
- As a User
4
- I want to be able to see my user information
5
-
6
- Background:
7
- Given I'm an Engine Yard user
8
- And ey-core is configured with my cloud token
9
-
10
- Scenario: Getting the current user information
11
- When I run `ey-core whoami`
12
- Then I should see my user ID
13
- And I should see my email address
14
- And I should see my name
1
+ Feature: Whoami
2
+ In order to ensure that I'm logged into the right account
3
+ As a User
4
+ I want to be able to see my user information
5
+
6
+ Background:
7
+ Given I'm an Engine Yard user
8
+ And ey-core is configured with my cloud token
9
+
10
+ Scenario: Getting the current user information
11
+ When I run `ey-core whoami`
12
+ Then I should see my user ID
13
+ And I should see my email address
14
+ And I should see my name
@@ -1,155 +1,155 @@
1
- module Ey::Core::Associations
2
- def assoc_coverage(options)
3
- if defined? Cistern::Coverage
4
- call = Cistern::Coverage.find_caller_before("ey-core/associations.rb")
5
-
6
- if call and call.label.start_with?("<class:")
7
- options[:coverage_file] = call.absolute_path
8
- options[:coverage_line] = call.lineno
9
- options[:coverage_hits] = 0
10
- end
11
- end
12
- end
13
-
14
- def associations
15
- @associations ||= {}
16
- end
17
-
18
- def assoc_reader(name, options={})
19
- assoc_key = options[:key] || "#{name}_id"
20
- collection = options[:collection] || "#{name}s"
21
- resource = options[:resource] || name
22
- assoc_name = options[:assoc_name] || resource
23
-
24
- # handle polymorphic assocations
25
- #
26
- # really only used for connector sources, as they may be cluster_components or addons
27
- disambiguate = Proc.new do |object, url, index=0|
28
- if object.is_a?(Array) && index > (object.size - 1)
29
- raise "No matching object found in #{object}"
30
- elsif object.is_a?(Array) && url
31
- url_pieces = URI.parse(url).path.split("/").map { |piece| piece.gsub(/-|_/,'') } # "/cluster-components/x" => ["clustercomponents", "x"]
32
-
33
- object.find do |model|
34
- normalized_model = model.to_s.gsub(/-|_/, '') # [:cluster_components, :addons] => ["clustercomponents", "addons"]
35
- url_pieces.find { |piece| piece.include?(normalized_model) }
36
- end
37
- elsif object.is_a?(Array)
38
- object[index]
39
- else
40
- object
41
- end
42
- end
43
-
44
- define_method(name) do
45
- url = self.send("#{name}_url")
46
- id = send(assoc_key)
47
-
48
- if id || url
49
- begin
50
- index ||= 0
51
- this_resource = disambiguate[resource, url, index]
52
- this_assoc_name = disambiguate[assoc_name, url, index]
53
- this_collection = disambiguate[collection, url, index]
54
-
55
- fetched = self.connection.send("get_#{this_assoc_name}", {"id" => id, "url" => url}).body
56
- rescue RuntimeError => e
57
- if e.message.match(/url needed/i)
58
- index += 1
59
- retry if index < 3
60
- else
61
- raise e
62
- end
63
- rescue Ey::Core::Response::NotFound
64
- index += 1
65
- index < 3 ? retry : raise
66
- end
67
-
68
- unless fetched[this_resource.to_s]
69
- raise "Expected a '#{this_resource.to_s}' in '#{fetched.inspect}'"
70
- end
71
-
72
- attributes = fetched[this_resource.to_s]
73
-
74
- if self.connection.respond_to?(this_collection)
75
- attributes = attributes.merge(collection: self.connection.send(this_collection))
76
- end
77
-
78
- self.connection.send(this_assoc_name, attributes)
79
- end
80
- end
81
- end
82
-
83
- def assoc_writer(name, options={})
84
- assoc_key = options[:key] || "#{name}_id"
85
- url_key = options[:key] || "#{name}_url"
86
-
87
- attr_accessor assoc_key
88
-
89
- define_method("#{name}=") do |assoc|
90
- if assoc.respond_to?(:identity)
91
- self.send("#{assoc_key}=", assoc.identity)
92
- elsif assoc.is_a?(String) && assoc.match(URI::regexp)
93
- self.send("#{url_key}=", assoc)
94
- else
95
- self.send("#{assoc_key}=", assoc)
96
- end
97
- end
98
- end
99
-
100
- def assoc_accessor(name, options={})
101
- assoc_coverage(options)
102
-
103
- if self.associations[name]
104
- raise ArgumentError, "#{self.name} association[#{name}] specified more than once"
105
- else
106
- self.associations[name] = options
107
- end
108
-
109
- aliases = Array(options[:aliases] || name.to_s)
110
-
111
- attribute(:"#{name}_url", aliases: aliases, parser: lambda { |v,_| v.is_a?(String) && v })
112
-
113
- assoc_reader(name, options)
114
- assoc_writer(name, options)
115
- end
116
-
117
- alias has_one assoc_accessor
118
-
119
- def collection_reader(name, options={})
120
- assoc_coverage(options)
121
-
122
- if self.associations[name]
123
- raise ArgumentError, "#{self.name} association[#{name}] specified more than once"
124
- else
125
- self.associations[name] = options
126
- end
127
-
128
- attribute(:"#{name}_url", aliases: options[:aliases] || [name.to_s])
129
-
130
- assoc_key = options[:key] || name
131
- collection_key = options[:model] || assoc_key
132
-
133
- define_method(name) do
134
- value = self.send("#{name}_url")
135
-
136
- if self.identity && !value
137
- raise "Cannot load #{name} association: #{name}_url is not set"
138
- end
139
-
140
- # @fixme this allows collections to be stored in a url variable on create before being replaced
141
- # by a url entry after create upon {#merge_attributes}
142
- if value.nil?
143
- []
144
- elsif value.is_a?(String) && value.match(URI::regexp)
145
- self.connection.send(collection_key, {"url" => value})
146
- elsif value.is_a?(Hash)
147
- [value]
148
- else
149
- Array(value)
150
- end
151
- end
152
- end
153
-
154
- alias has_many collection_reader
155
- end
1
+ module Ey::Core::Associations
2
+ def assoc_coverage(options)
3
+ if defined? Cistern::Coverage
4
+ call = Cistern::Coverage.find_caller_before("ey-core/associations.rb")
5
+
6
+ if call and call.label.start_with?("<class:")
7
+ options[:coverage_file] = call.absolute_path
8
+ options[:coverage_line] = call.lineno
9
+ options[:coverage_hits] = 0
10
+ end
11
+ end
12
+ end
13
+
14
+ def associations
15
+ @associations ||= {}
16
+ end
17
+
18
+ def assoc_reader(name, options={})
19
+ assoc_key = options[:key] || "#{name}_id"
20
+ collection = options[:collection] || "#{name}s"
21
+ resource = options[:resource] || name
22
+ assoc_name = options[:assoc_name] || resource
23
+
24
+ # handle polymorphic assocations
25
+ #
26
+ # really only used for connector sources, as they may be cluster_components or addons
27
+ disambiguate = Proc.new do |object, url, index=0|
28
+ if object.is_a?(Array) && index > (object.size - 1)
29
+ raise "No matching object found in #{object}"
30
+ elsif object.is_a?(Array) && url
31
+ url_pieces = URI.parse(url).path.split("/").map { |piece| piece.gsub(/-|_/,'') } # "/cluster-components/x" => ["clustercomponents", "x"]
32
+
33
+ object.find do |model|
34
+ normalized_model = model.to_s.gsub(/-|_/, '') # [:cluster_components, :addons] => ["clustercomponents", "addons"]
35
+ url_pieces.find { |piece| piece.include?(normalized_model) }
36
+ end
37
+ elsif object.is_a?(Array)
38
+ object[index]
39
+ else
40
+ object
41
+ end
42
+ end
43
+
44
+ define_method(name) do
45
+ url = self.send("#{name}_url")
46
+ id = send(assoc_key)
47
+
48
+ if id || url
49
+ begin
50
+ index ||= 0
51
+ this_resource = disambiguate[resource, url, index]
52
+ this_assoc_name = disambiguate[assoc_name, url, index]
53
+ this_collection = disambiguate[collection, url, index]
54
+
55
+ fetched = self.connection.send("get_#{this_assoc_name}", {"id" => id, "url" => url}).body
56
+ rescue RuntimeError => e
57
+ if e.message.match(/url needed/i)
58
+ index += 1
59
+ retry if index < 3
60
+ else
61
+ raise e
62
+ end
63
+ rescue Ey::Core::Response::NotFound
64
+ index += 1
65
+ index < 3 ? retry : raise
66
+ end
67
+
68
+ unless fetched[this_resource.to_s]
69
+ raise "Expected a '#{this_resource.to_s}' in '#{fetched.inspect}'"
70
+ end
71
+
72
+ attributes = fetched[this_resource.to_s]
73
+
74
+ if self.connection.respond_to?(this_collection)
75
+ attributes = attributes.merge(collection: self.connection.send(this_collection))
76
+ end
77
+
78
+ self.connection.send(this_assoc_name, attributes)
79
+ end
80
+ end
81
+ end
82
+
83
+ def assoc_writer(name, options={})
84
+ assoc_key = options[:key] || "#{name}_id"
85
+ url_key = options[:key] || "#{name}_url"
86
+
87
+ attr_accessor assoc_key
88
+
89
+ define_method("#{name}=") do |assoc|
90
+ if assoc.respond_to?(:identity)
91
+ self.send("#{assoc_key}=", assoc.identity)
92
+ elsif assoc.is_a?(String) && assoc.match(URI::regexp)
93
+ self.send("#{url_key}=", assoc)
94
+ else
95
+ self.send("#{assoc_key}=", assoc)
96
+ end
97
+ end
98
+ end
99
+
100
+ def assoc_accessor(name, options={})
101
+ assoc_coverage(options)
102
+
103
+ if self.associations[name]
104
+ raise ArgumentError, "#{self.name} association[#{name}] specified more than once"
105
+ else
106
+ self.associations[name] = options
107
+ end
108
+
109
+ aliases = Array(options[:aliases] || name.to_s)
110
+
111
+ attribute(:"#{name}_url", aliases: aliases, parser: lambda { |v,_| v.is_a?(String) && v })
112
+
113
+ assoc_reader(name, options)
114
+ assoc_writer(name, options)
115
+ end
116
+
117
+ alias has_one assoc_accessor
118
+
119
+ def collection_reader(name, options={})
120
+ assoc_coverage(options)
121
+
122
+ if self.associations[name]
123
+ raise ArgumentError, "#{self.name} association[#{name}] specified more than once"
124
+ else
125
+ self.associations[name] = options
126
+ end
127
+
128
+ attribute(:"#{name}_url", aliases: options[:aliases] || [name.to_s])
129
+
130
+ assoc_key = options[:key] || name
131
+ collection_key = options[:model] || assoc_key
132
+
133
+ define_method(name) do
134
+ value = self.send("#{name}_url")
135
+
136
+ if self.identity && !value
137
+ raise "Cannot load #{name} association: #{name}_url is not set"
138
+ end
139
+
140
+ # @fixme this allows collections to be stored in a url variable on create before being replaced
141
+ # by a url entry after create upon {#merge_attributes}
142
+ if value.nil?
143
+ []
144
+ elsif value.is_a?(String) && value.match(URI::regexp)
145
+ self.connection.send(collection_key, {"url" => value})
146
+ elsif value.is_a?(Hash)
147
+ [value]
148
+ else
149
+ Array(value)
150
+ end
151
+ end
152
+ end
153
+
154
+ alias has_many collection_reader
155
+ end
@@ -1,17 +1,17 @@
1
- require 'ey-core/cli/subcommand'
2
-
3
- module Ey
4
- module Core
5
- module Cli
6
- class Accounts < Subcommand
7
- title "accounts"
8
- summary "Retrieve a list of Engine Yard accounts that you have access to."
9
-
10
- def handle
11
- table_data = TablePrint::Printer.new(core_accounts, [{id: {width: 36}}, :name])
12
- puts table_data.table_print
13
- end
14
- end
15
- end
16
- end
17
- end
1
+ require 'ey-core/cli/subcommand'
2
+
3
+ module Ey
4
+ module Core
5
+ module Cli
6
+ class Accounts < Subcommand
7
+ title "accounts"
8
+ summary "Retrieve a list of Engine Yard accounts that you have access to."
9
+
10
+ def handle
11
+ table_data = TablePrint::Printer.new(core_accounts, [{id: {width: 36}}, :name])
12
+ puts table_data.table_print
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -1,36 +1,36 @@
1
- require 'ey-core/cli/subcommand'
2
-
3
- module Ey
4
- module Core
5
- module Cli
6
- class Applications < Subcommand
7
- title "applications"
8
- summary "Retrieve a list of Engine Yard applications that you have access to."
9
-
10
- option :account,
11
- short: 'c',
12
- long: 'account',
13
- description: 'Filter by account name or id',
14
- argument: 'Account'
15
-
16
- def handle
17
- table_data = TablePrint::Printer.new(
18
- applications,
19
- [{id: {width: 10}}, :name]
20
- )
21
-
22
- puts table_data.table_print
23
- end
24
-
25
- private
26
- def applications
27
- if option(:account)
28
- core_account.applications.all
29
- else
30
- core_accounts.map(&:applications).flatten.sort_by(&:id)
31
- end
32
- end
33
- end
34
- end
35
- end
36
- end
1
+ require 'ey-core/cli/subcommand'
2
+
3
+ module Ey
4
+ module Core
5
+ module Cli
6
+ class Applications < Subcommand
7
+ title "applications"
8
+ summary "Retrieve a list of Engine Yard applications that you have access to."
9
+
10
+ option :account,
11
+ short: 'c',
12
+ long: 'account',
13
+ description: 'Filter by account name or id',
14
+ argument: 'Account'
15
+
16
+ def handle
17
+ table_data = TablePrint::Printer.new(
18
+ applications,
19
+ [{id: {width: 10}}, :name]
20
+ )
21
+
22
+ puts table_data.table_print
23
+ end
24
+
25
+ private
26
+ def applications
27
+ if option(:account)
28
+ core_account.applications.all
29
+ else
30
+ core_accounts.map(&:applications).flatten.sort_by(&:id)
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -1,28 +1,28 @@
1
- require 'ey-core/cli/subcommand'
2
- require 'pry'
3
-
4
- module Ey
5
- module Core
6
- module Cli
7
- class Console < Subcommand
8
- title "console"
9
- summary "Start an interactive console"
10
-
11
- option :execute_command,
12
- short: "e",
13
- long: "command",
14
- description: "Command to execute",
15
- argument: "command"
16
-
17
- def handle
18
- if command = option(:execute_command)
19
- core_client.instance_eval(command)
20
- else
21
- Pry.config.prompt = proc { |obj, nest_level, _| "ey-core:> " }
22
- core_client.pry
23
- end
24
- end
25
- end
26
- end
27
- end
28
- end
1
+ require 'ey-core/cli/subcommand'
2
+ require 'pry'
3
+
4
+ module Ey
5
+ module Core
6
+ module Cli
7
+ class Console < Subcommand
8
+ title "console"
9
+ summary "Start an interactive console"
10
+
11
+ option :execute_command,
12
+ short: "e",
13
+ long: "command",
14
+ description: "Command to execute",
15
+ argument: "command"
16
+
17
+ def handle
18
+ if command = option(:execute_command)
19
+ core_client.instance_eval(command)
20
+ else
21
+ Pry.config.prompt = proc { |obj, nest_level, _| "ey-core:> " }
22
+ core_client.pry
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -1,16 +1,16 @@
1
- require 'ey-core/cli/subcommand'
2
-
3
- module Ey
4
- module Core
5
- module Cli
6
- class CurrentUser < Subcommand
7
- title "current_user"
8
- summary "Print the current user information"
9
-
10
- def handle
11
- ap core_client.users.current
12
- end
13
- end
14
- end
15
- end
16
- end
1
+ require 'ey-core/cli/subcommand'
2
+
3
+ module Ey
4
+ module Core
5
+ module Cli
6
+ class CurrentUser < Subcommand
7
+ title "current_user"
8
+ summary "Print the current user information"
9
+
10
+ def handle
11
+ ap core_client.users.current
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end