ey-core 3.4.5 → 3.5.0

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 (533) hide show
  1. checksums.yaml +5 -5
  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/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/ey-core +12 -4
  13. data/examples/add_instance.rb +74 -74
  14. data/examples/boot_env.rb +60 -60
  15. data/examples/console/README.md +14 -14
  16. data/examples/console/address.md +51 -51
  17. data/examples/stop_env.rb +51 -51
  18. data/examples/terminate_instance.rb +62 -62
  19. data/ey-core.gemspec +51 -51
  20. data/features/accounts.feature +13 -13
  21. data/features/applications.feature +29 -29
  22. data/features/current_user.feature +14 -14
  23. data/features/environment_variables.feature +54 -0
  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 +37 -23
  29. data/features/step_definitions/applications_steps.rb +39 -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/environment_variables_steps.rb +51 -0
  33. data/features/step_definitions/environments_steps.rb +52 -37
  34. data/features/step_definitions/version_steps.rb +3 -3
  35. data/features/support/account_helpers.rb +89 -89
  36. data/features/support/app_helpers.rb +19 -19
  37. data/features/support/aruba.rb +1 -1
  38. data/features/support/boilerplate.rb +1 -1
  39. data/features/support/client_helpers.rb +36 -36
  40. data/features/support/config_file_helpers.rb +42 -42
  41. data/features/support/core.rb +19 -19
  42. data/features/support/deployment_helpers.rb +19 -19
  43. data/features/support/env.rb +40 -40
  44. data/features/support/environment_helpers.rb +23 -23
  45. data/features/support/environment_variable_helpers.rb +20 -0
  46. data/features/support/fake_kernel.rb +23 -23
  47. data/features/support/io.rb +5 -5
  48. data/features/support/mock_api.rb +21 -21
  49. data/features/support/output_helpers.rb +7 -7
  50. data/features/support/resource_helpers.rb +201 -189
  51. data/features/support/server_helpers.rb +27 -27
  52. data/features/version.feature +8 -8
  53. data/features/whoami.feature +14 -14
  54. data/lib/ey-core/associations.rb +155 -155
  55. data/lib/ey-core/cli/accounts.rb +17 -17
  56. data/lib/ey-core/cli/applications.rb +36 -36
  57. data/lib/ey-core/cli/console.rb +28 -28
  58. data/lib/ey-core/cli/current_user.rb +16 -16
  59. data/lib/ey-core/cli/deploy.rb +123 -123
  60. data/lib/ey-core/cli/environment_variables.rb +71 -0
  61. data/lib/ey-core/cli/environments.rb +39 -39
  62. data/lib/ey-core/cli/errors.rb +11 -11
  63. data/lib/ey-core/cli/help.rb +30 -30
  64. data/lib/ey-core/cli/helpers/archive.rb +70 -70
  65. data/lib/ey-core/cli/helpers/chef.rb +51 -51
  66. data/lib/ey-core/cli/helpers/core.rb +225 -196
  67. data/lib/ey-core/cli/helpers/deprecated.rb +39 -39
  68. data/lib/ey-core/cli/helpers/log_streaming.rb +41 -41
  69. data/lib/ey-core/cli/helpers/server_sieve.rb +76 -76
  70. data/lib/ey-core/cli/helpers/stream_printer.rb +42 -42
  71. data/lib/ey-core/cli/init.rb +14 -14
  72. data/lib/ey-core/cli/login.rb +38 -38
  73. data/lib/ey-core/cli/logout.rb +22 -22
  74. data/lib/ey-core/cli/logs.rb +70 -70
  75. data/lib/ey-core/cli/main.rb +67 -65
  76. data/lib/ey-core/cli/recipes/apply.rb +65 -65
  77. data/lib/ey-core/cli/recipes/download.rb +52 -52
  78. data/lib/ey-core/cli/recipes/main.rb +21 -21
  79. data/lib/ey-core/cli/recipes/upload.rb +78 -78
  80. data/lib/ey-core/cli/recipes.rb +10 -10
  81. data/lib/ey-core/cli/scp.rb +14 -14
  82. data/lib/ey-core/cli/servers.rb +58 -41
  83. data/lib/ey-core/cli/ssh.rb +150 -150
  84. data/lib/ey-core/cli/status.rb +60 -60
  85. data/lib/ey-core/cli/subcommand.rb +53 -53
  86. data/lib/ey-core/cli/timeout_deploy.rb +58 -58
  87. data/lib/ey-core/cli/version.rb +16 -16
  88. data/lib/ey-core/cli/web/disable.rb +49 -49
  89. data/lib/ey-core/cli/web/enable.rb +46 -46
  90. data/lib/ey-core/cli/web/main.rb +21 -21
  91. data/lib/ey-core/cli/web/restart.rb +42 -42
  92. data/lib/ey-core/cli/web.rb +10 -10
  93. data/lib/ey-core/cli/whoami.rb +12 -12
  94. data/lib/ey-core/cli.rb +8 -8
  95. data/lib/ey-core/client/mock.rb +305 -302
  96. data/lib/ey-core/client/real.rb +93 -93
  97. data/lib/ey-core/client.rb +465 -442
  98. data/lib/ey-core/collection.rb +131 -131
  99. data/lib/ey-core/collections/account_cancellations.rb +6 -6
  100. data/lib/ey-core/collections/account_referrals.rb +10 -10
  101. data/lib/ey-core/collections/accounts.rb +8 -8
  102. data/lib/ey-core/collections/addons.rb +16 -16
  103. data/lib/ey-core/collections/addresses.rb +9 -9
  104. data/lib/ey-core/collections/alerts.rb +9 -9
  105. data/lib/ey-core/collections/application_archives.rb +9 -9
  106. data/lib/ey-core/collections/application_deployments.rb +9 -9
  107. data/lib/ey-core/collections/applications.rb +9 -9
  108. data/lib/ey-core/collections/auto_scaling_alarms.rb +8 -0
  109. data/lib/ey-core/collections/auto_scaling_groups.rb +8 -8
  110. data/lib/ey-core/collections/auto_scaling_policies.rb +33 -0
  111. data/lib/ey-core/collections/backup_files.rb +9 -9
  112. data/lib/ey-core/collections/blueprints.rb +9 -9
  113. data/lib/ey-core/collections/components.rb +9 -9
  114. data/lib/ey-core/collections/contacts.rb +9 -9
  115. data/lib/ey-core/collections/costs.rb +8 -8
  116. data/lib/ey-core/collections/database_plan_usages.rb +7 -7
  117. data/lib/ey-core/collections/database_server_revisions.rb +7 -7
  118. data/lib/ey-core/collections/database_server_snapshots.rb +17 -17
  119. data/lib/ey-core/collections/database_server_usages.rb +7 -7
  120. data/lib/ey-core/collections/database_servers.rb +9 -9
  121. data/lib/ey-core/collections/database_services.rb +9 -9
  122. data/lib/ey-core/collections/deployments.rb +8 -8
  123. data/lib/ey-core/collections/environment_plan_usages.rb +7 -7
  124. data/lib/ey-core/collections/environment_variables.rb +8 -0
  125. data/lib/ey-core/collections/environments.rb +15 -15
  126. data/lib/ey-core/collections/features.rb +9 -9
  127. data/lib/ey-core/collections/firewall_rules.rb +9 -9
  128. data/lib/ey-core/collections/firewalls.rb +9 -9
  129. data/lib/ey-core/collections/gems.rb +6 -6
  130. data/lib/ey-core/collections/keypair_deployments.rb +9 -9
  131. data/lib/ey-core/collections/keypairs.rb +9 -9
  132. data/lib/ey-core/collections/legacy_alerts.rb +9 -9
  133. data/lib/ey-core/collections/load_balancer_nodes.rb +9 -9
  134. data/lib/ey-core/collections/load_balancer_services.rb +9 -9
  135. data/lib/ey-core/collections/load_balancers.rb +16 -16
  136. data/lib/ey-core/collections/logical_databases.rb +16 -16
  137. data/lib/ey-core/collections/logs.rb +9 -9
  138. data/lib/ey-core/collections/memberships.rb +9 -9
  139. data/lib/ey-core/collections/messages.rb +9 -9
  140. data/lib/ey-core/collections/plan_usages.rb +7 -7
  141. data/lib/ey-core/collections/provider_locations.rb +13 -13
  142. data/lib/ey-core/collections/providers.rb +15 -15
  143. data/lib/ey-core/collections/requests.rb +10 -10
  144. data/lib/ey-core/collections/server_events.rb +9 -9
  145. data/lib/ey-core/collections/server_usages.rb +7 -7
  146. data/lib/ey-core/collections/servers.rb +13 -13
  147. data/lib/ey-core/collections/services.rb +14 -14
  148. data/lib/ey-core/collections/ssl_certificates.rb +9 -9
  149. data/lib/ey-core/collections/storage_users.rb +10 -10
  150. data/lib/ey-core/collections/storages.rb +9 -9
  151. data/lib/ey-core/collections/tasks.rb +9 -9
  152. data/lib/ey-core/collections/tokens.rb +9 -9
  153. data/lib/ey-core/collections/untracked_addresses.rb +4 -4
  154. data/lib/ey-core/collections/untracked_servers.rb +9 -9
  155. data/lib/ey-core/collections/users.rb +12 -12
  156. data/lib/ey-core/collections/volumes.rb +9 -9
  157. data/lib/ey-core/logger.rb +31 -31
  158. data/lib/ey-core/memory_cache.rb +17 -17
  159. data/lib/ey-core/mock/helper.rb +104 -104
  160. data/lib/ey-core/mock/params.rb +31 -31
  161. data/lib/ey-core/mock/resources.rb +92 -92
  162. data/lib/ey-core/mock/searching.rb +115 -115
  163. data/lib/ey-core/mock/util.rb +23 -23
  164. data/lib/ey-core/model.rb +44 -44
  165. data/lib/ey-core/models/account.rb +70 -70
  166. data/lib/ey-core/models/account_cancellation.rb +6 -6
  167. data/lib/ey-core/models/account_referral.rb +8 -8
  168. data/lib/ey-core/models/account_trial.rb +15 -15
  169. data/lib/ey-core/models/addon.rb +37 -37
  170. data/lib/ey-core/models/address.rb +59 -57
  171. data/lib/ey-core/models/alert.rb +99 -100
  172. data/lib/ey-core/models/application.rb +33 -32
  173. data/lib/ey-core/models/application_archive.rb +67 -67
  174. data/lib/ey-core/models/application_deployment.rb +18 -18
  175. data/lib/ey-core/models/auto_scaling_alarm.rb +54 -0
  176. data/lib/ey-core/models/auto_scaling_group.rb +75 -49
  177. data/lib/ey-core/models/backup_file.rb +52 -52
  178. data/lib/ey-core/models/base_auto_scaling_policy.rb +61 -0
  179. data/lib/ey-core/models/billing.rb +27 -27
  180. data/lib/ey-core/models/blueprint.rb +30 -30
  181. data/lib/ey-core/models/component.rb +11 -11
  182. data/lib/ey-core/models/contact.rb +14 -14
  183. data/lib/ey-core/models/cost.rb +16 -16
  184. data/lib/ey-core/models/database_plan_usage.rb +10 -10
  185. data/lib/ey-core/models/database_server.rb +56 -56
  186. data/lib/ey-core/models/database_server_revision.rb +10 -10
  187. data/lib/ey-core/models/database_server_snapshot.rb +43 -43
  188. data/lib/ey-core/models/database_server_usage.rb +15 -15
  189. data/lib/ey-core/models/database_service.rb +52 -52
  190. data/lib/ey-core/models/deployment.rb +30 -30
  191. data/lib/ey-core/models/environment.rb +248 -242
  192. data/lib/ey-core/models/environment_plan_usage.rb +10 -10
  193. data/lib/ey-core/models/environment_variable.rb +29 -0
  194. data/lib/ey-core/models/feature.rb +33 -33
  195. data/lib/ey-core/models/firewall.rb +46 -46
  196. data/lib/ey-core/models/firewall_rule.rb +41 -41
  197. data/lib/ey-core/models/gem.rb +5 -5
  198. data/lib/ey-core/models/keypair.rb +38 -38
  199. data/lib/ey-core/models/keypair_deployment.rb +26 -26
  200. data/lib/ey-core/models/legacy_alert.rb +12 -12
  201. data/lib/ey-core/models/load_balancer.rb +43 -43
  202. data/lib/ey-core/models/load_balancer_node.rb +17 -17
  203. data/lib/ey-core/models/load_balancer_service.rb +22 -22
  204. data/lib/ey-core/models/log.rb +44 -44
  205. data/lib/ey-core/models/logical_database.rb +40 -40
  206. data/lib/ey-core/models/membership.rb +49 -49
  207. data/lib/ey-core/models/message.rb +27 -27
  208. data/lib/ey-core/models/plan_usage.rb +14 -14
  209. data/lib/ey-core/models/provider.rb +59 -59
  210. data/lib/ey-core/models/provider_location.rb +24 -24
  211. data/lib/ey-core/models/request.rb +109 -105
  212. data/lib/ey-core/models/server.rb +151 -151
  213. data/lib/ey-core/models/server_event.rb +11 -11
  214. data/lib/ey-core/models/server_usage.rb +15 -15
  215. data/lib/ey-core/models/service.rb +10 -10
  216. data/lib/ey-core/models/simple_auto_scaling_policy.rb +24 -0
  217. data/lib/ey-core/models/ssl_certificate.rb +44 -44
  218. data/lib/ey-core/models/step_auto_scaling_policy.rb +24 -0
  219. data/lib/ey-core/models/storage.rb +38 -38
  220. data/lib/ey-core/models/storage_user.rb +44 -44
  221. data/lib/ey-core/models/support_trial.rb +10 -10
  222. data/lib/ey-core/models/target_auto_scaling_policy.rb +24 -0
  223. data/lib/ey-core/models/task.rb +35 -35
  224. data/lib/ey-core/models/token.rb +24 -24
  225. data/lib/ey-core/models/untracked_address.rb +24 -24
  226. data/lib/ey-core/models/untracked_server.rb +45 -45
  227. data/lib/ey-core/models/user.rb +39 -39
  228. data/lib/ey-core/models/volume.rb +20 -20
  229. data/lib/ey-core/request.rb +21 -21
  230. data/lib/ey-core/request_failure.rb +11 -11
  231. data/lib/ey-core/requests/acknowledge_alert.rb +29 -29
  232. data/lib/ey-core/requests/apply_environment_updates.rb +54 -54
  233. data/lib/ey-core/requests/apply_server_updates.rb +52 -52
  234. data/lib/ey-core/requests/attach_address.rb +53 -53
  235. data/lib/ey-core/requests/authorized_channel.rb +22 -22
  236. data/lib/ey-core/requests/blueprint_environment.rb +72 -72
  237. data/lib/ey-core/requests/boot_environment.rb +187 -187
  238. data/lib/ey-core/requests/bootstrap_logical_database.rb +80 -80
  239. data/lib/ey-core/requests/cancel_account.rb +33 -33
  240. data/lib/ey-core/requests/change_environment_maintenance.rb +38 -38
  241. data/lib/ey-core/requests/create_account.rb +38 -33
  242. data/lib/ey-core/requests/create_addon.rb +35 -35
  243. data/lib/ey-core/requests/create_address.rb +54 -53
  244. data/lib/ey-core/requests/create_alert.rb +63 -63
  245. data/lib/ey-core/requests/create_application.rb +73 -72
  246. data/lib/ey-core/requests/create_application_archive.rb +44 -44
  247. data/lib/ey-core/requests/create_auto_scaling_alarm.rb +69 -0
  248. data/lib/ey-core/requests/create_auto_scaling_group.rb +62 -62
  249. data/lib/ey-core/requests/create_auto_scaling_policy.rb +68 -0
  250. data/lib/ey-core/requests/create_backup_file.rb +52 -52
  251. data/lib/ey-core/requests/create_database_server.rb +72 -72
  252. data/lib/ey-core/requests/create_database_service.rb +57 -57
  253. data/lib/ey-core/requests/create_database_service_snapshot.rb +69 -69
  254. data/lib/ey-core/requests/create_environment.rb +77 -76
  255. data/lib/ey-core/requests/create_environment_variable.rb +39 -0
  256. data/lib/ey-core/requests/create_firewall.rb +62 -62
  257. data/lib/ey-core/requests/create_firewall_rule.rb +60 -60
  258. data/lib/ey-core/requests/create_keypair.rb +42 -42
  259. data/lib/ey-core/requests/create_keypair_deployment.rb +36 -36
  260. data/lib/ey-core/requests/create_load_balancer.rb +62 -62
  261. data/lib/ey-core/requests/create_log.rb +53 -53
  262. data/lib/ey-core/requests/create_logical_database.rb +56 -56
  263. data/lib/ey-core/requests/create_membership.rb +47 -47
  264. data/lib/ey-core/requests/create_message.rb +35 -35
  265. data/lib/ey-core/requests/create_password_reset.rb +38 -38
  266. data/lib/ey-core/requests/create_provider.rb +90 -90
  267. data/lib/ey-core/requests/create_server.rb +121 -121
  268. data/lib/ey-core/requests/create_ssl_certificate.rb +83 -83
  269. data/lib/ey-core/requests/create_storage.rb +64 -64
  270. data/lib/ey-core/requests/create_storage_user.rb +64 -64
  271. data/lib/ey-core/requests/create_task.rb +55 -55
  272. data/lib/ey-core/requests/create_token.rb +24 -24
  273. data/lib/ey-core/requests/create_untracked_address.rb +50 -50
  274. data/lib/ey-core/requests/create_untracked_server.rb +39 -39
  275. data/lib/ey-core/requests/create_user.rb +54 -52
  276. data/lib/ey-core/requests/deploy_environment_application.rb +60 -60
  277. data/lib/ey-core/requests/deprovision_environment.rb +17 -17
  278. data/lib/ey-core/requests/destroy_addon.rb +24 -24
  279. data/lib/ey-core/requests/destroy_auto_scaling_alarm.rb +49 -0
  280. data/lib/ey-core/requests/destroy_auto_scaling_group.rb +44 -44
  281. data/lib/ey-core/requests/destroy_auto_scaling_policy.rb +49 -0
  282. data/lib/ey-core/requests/destroy_blueprint.rb +22 -22
  283. data/lib/ey-core/requests/destroy_database_server.rb +41 -41
  284. data/lib/ey-core/requests/destroy_database_server_snapshot.rb +42 -42
  285. data/lib/ey-core/requests/destroy_database_service.rb +57 -57
  286. data/lib/ey-core/requests/destroy_environment.rb +43 -43
  287. data/lib/ey-core/requests/destroy_firewall.rb +41 -41
  288. data/lib/ey-core/requests/destroy_firewall_rule.rb +41 -41
  289. data/lib/ey-core/requests/destroy_load_balancer.rb +30 -30
  290. data/lib/ey-core/requests/destroy_logical_database.rb +41 -41
  291. data/lib/ey-core/requests/destroy_provider.rb +34 -34
  292. data/lib/ey-core/requests/destroy_server.rb +48 -48
  293. data/lib/ey-core/requests/destroy_ssl_certificate.rb +28 -28
  294. data/lib/ey-core/requests/destroy_storage.rb +33 -33
  295. data/lib/ey-core/requests/destroy_storage_user.rb +38 -38
  296. data/lib/ey-core/requests/destroy_user.rb +29 -29
  297. data/lib/ey-core/requests/detach_address.rb +48 -48
  298. data/lib/ey-core/requests/disable_feature.rb +30 -30
  299. data/lib/ey-core/requests/discover_database_server.rb +66 -66
  300. data/lib/ey-core/requests/discover_database_server_snapshots.rb +69 -69
  301. data/lib/ey-core/requests/discover_provider_location.rb +57 -57
  302. data/lib/ey-core/requests/discover_server.rb +60 -60
  303. data/lib/ey-core/requests/download_file.rb +25 -25
  304. data/lib/ey-core/requests/enable_feature.rb +35 -35
  305. data/lib/ey-core/requests/get_account.rb +29 -29
  306. data/lib/ey-core/requests/get_account_cancellation.rb +21 -21
  307. data/lib/ey-core/requests/get_account_referrals.rb +28 -28
  308. data/lib/ey-core/requests/get_account_trial.rb +32 -32
  309. data/lib/ey-core/requests/get_accounts.rb +42 -42
  310. data/lib/ey-core/requests/get_addon.rb +25 -25
  311. data/lib/ey-core/requests/get_addons.rb +24 -24
  312. data/lib/ey-core/requests/get_address.rb +25 -25
  313. data/lib/ey-core/requests/get_addresses.rb +27 -27
  314. data/lib/ey-core/requests/get_alert.rb +21 -21
  315. data/lib/ey-core/requests/get_alerting_environments.rb +41 -41
  316. data/lib/ey-core/requests/get_alerts.rb +44 -44
  317. data/lib/ey-core/requests/get_api_token.rb +19 -19
  318. data/lib/ey-core/requests/get_application.rb +21 -21
  319. data/lib/ey-core/requests/get_application_archive.rb +32 -32
  320. data/lib/ey-core/requests/get_application_archives.rb +29 -29
  321. data/lib/ey-core/requests/get_application_deployment.rb +21 -21
  322. data/lib/ey-core/requests/get_application_deployments.rb +28 -28
  323. data/lib/ey-core/requests/get_applications.rb +28 -28
  324. data/lib/ey-core/requests/get_auto_scaling_alarm.rb +27 -0
  325. data/lib/ey-core/requests/get_auto_scaling_alarms.rb +34 -0
  326. data/lib/ey-core/requests/get_auto_scaling_group.rb +21 -21
  327. data/lib/ey-core/requests/get_auto_scaling_groups.rb +29 -29
  328. data/lib/ey-core/requests/get_auto_scaling_policies.rb +46 -0
  329. data/lib/ey-core/requests/get_auto_scaling_policy.rb +27 -0
  330. data/lib/ey-core/requests/get_backup_file.rb +21 -21
  331. data/lib/ey-core/requests/get_backup_files.rb +28 -28
  332. data/lib/ey-core/requests/get_billing.rb +24 -24
  333. data/lib/ey-core/requests/get_blueprint.rb +21 -21
  334. data/lib/ey-core/requests/get_blueprints.rb +29 -29
  335. data/lib/ey-core/requests/get_component.rb +21 -21
  336. data/lib/ey-core/requests/get_components.rb +29 -29
  337. data/lib/ey-core/requests/get_contacts.rb +34 -34
  338. data/lib/ey-core/requests/get_costs.rb +25 -25
  339. data/lib/ey-core/requests/get_current_user.rb +19 -19
  340. data/lib/ey-core/requests/get_database_plan_usages.rb +24 -24
  341. data/lib/ey-core/requests/get_database_server.rb +21 -21
  342. data/lib/ey-core/requests/get_database_server_revisions.rb +27 -27
  343. data/lib/ey-core/requests/get_database_server_snapshot.rb +20 -20
  344. data/lib/ey-core/requests/get_database_server_snapshots.rb +39 -39
  345. data/lib/ey-core/requests/get_database_server_usages.rb +24 -24
  346. data/lib/ey-core/requests/get_database_servers.rb +30 -30
  347. data/lib/ey-core/requests/get_database_servers_firewalls.rb +30 -30
  348. data/lib/ey-core/requests/get_database_service.rb +20 -20
  349. data/lib/ey-core/requests/get_database_services.rb +55 -55
  350. data/lib/ey-core/requests/get_deployment.rb +19 -19
  351. data/lib/ey-core/requests/get_deployments.rb +29 -29
  352. data/lib/ey-core/requests/get_environment.rb +21 -21
  353. data/lib/ey-core/requests/get_environment_database_services.rb +21 -21
  354. data/lib/ey-core/requests/get_environment_logical_databases.rb +20 -20
  355. data/lib/ey-core/requests/get_environment_plan_usages.rb +24 -24
  356. data/lib/ey-core/requests/get_environment_variable.rb +19 -0
  357. data/lib/ey-core/requests/get_environment_variables.rb +29 -0
  358. data/lib/ey-core/requests/get_environments.rb +29 -29
  359. data/lib/ey-core/requests/get_feature.rb +21 -21
  360. data/lib/ey-core/requests/get_features.rb +28 -28
  361. data/lib/ey-core/requests/get_firewall.rb +21 -21
  362. data/lib/ey-core/requests/get_firewall_rule.rb +21 -21
  363. data/lib/ey-core/requests/get_firewall_rules.rb +29 -29
  364. data/lib/ey-core/requests/get_firewalls.rb +45 -45
  365. data/lib/ey-core/requests/get_gem.rb +24 -24
  366. data/lib/ey-core/requests/get_keypair.rb +21 -21
  367. data/lib/ey-core/requests/get_keypair_deployment.rb +21 -21
  368. data/lib/ey-core/requests/get_keypair_deployments.rb +29 -29
  369. data/lib/ey-core/requests/get_keypairs.rb +34 -34
  370. data/lib/ey-core/requests/get_legacy_alert.rb +21 -21
  371. data/lib/ey-core/requests/get_legacy_alerts.rb +29 -29
  372. data/lib/ey-core/requests/get_load_balancer.rb +21 -21
  373. data/lib/ey-core/requests/get_load_balancer_node.rb +21 -21
  374. data/lib/ey-core/requests/get_load_balancer_nodes.rb +30 -30
  375. data/lib/ey-core/requests/get_load_balancer_service.rb +21 -21
  376. data/lib/ey-core/requests/get_load_balancer_services.rb +30 -30
  377. data/lib/ey-core/requests/get_load_balancers.rb +29 -29
  378. data/lib/ey-core/requests/get_log.rb +21 -21
  379. data/lib/ey-core/requests/get_logical_database.rb +23 -23
  380. data/lib/ey-core/requests/get_logical_databases.rb +36 -36
  381. data/lib/ey-core/requests/get_logs.rb +37 -37
  382. data/lib/ey-core/requests/get_membership.rb +21 -21
  383. data/lib/ey-core/requests/get_memberships.rb +29 -29
  384. data/lib/ey-core/requests/get_message.rb +28 -28
  385. data/lib/ey-core/requests/get_messages.rb +27 -27
  386. data/lib/ey-core/requests/get_metadata.rb +22 -22
  387. data/lib/ey-core/requests/get_operational_contact.rb +21 -21
  388. data/lib/ey-core/requests/get_operational_contacts.rb +20 -20
  389. data/lib/ey-core/requests/get_plan_usages.rb +24 -24
  390. data/lib/ey-core/requests/get_possible_provider_locations.rb +19 -19
  391. data/lib/ey-core/requests/get_provider.rb +21 -21
  392. data/lib/ey-core/requests/get_provider_location.rb +29 -29
  393. data/lib/ey-core/requests/get_provider_locations.rb +28 -28
  394. data/lib/ey-core/requests/get_providers.rb +28 -28
  395. data/lib/ey-core/requests/get_request.rb +71 -71
  396. data/lib/ey-core/requests/get_requests.rb +29 -29
  397. data/lib/ey-core/requests/get_server.rb +34 -34
  398. data/lib/ey-core/requests/get_server_event.rb +20 -20
  399. data/lib/ey-core/requests/get_server_events.rb +28 -28
  400. data/lib/ey-core/requests/get_server_usages.rb +24 -24
  401. data/lib/ey-core/requests/get_servers.rb +25 -25
  402. data/lib/ey-core/requests/get_ssl_certificate.rb +23 -23
  403. data/lib/ey-core/requests/get_ssl_certificates.rb +28 -28
  404. data/lib/ey-core/requests/get_storage.rb +21 -21
  405. data/lib/ey-core/requests/get_storage_user.rb +21 -21
  406. data/lib/ey-core/requests/get_storage_users.rb +28 -28
  407. data/lib/ey-core/requests/get_storages.rb +28 -28
  408. data/lib/ey-core/requests/get_support_trial.rb +51 -51
  409. data/lib/ey-core/requests/get_task.rb +21 -21
  410. data/lib/ey-core/requests/get_tasks.rb +28 -28
  411. data/lib/ey-core/requests/get_token.rb +21 -21
  412. data/lib/ey-core/requests/get_token_by_login.rb +30 -30
  413. data/lib/ey-core/requests/get_tokens.rb +32 -32
  414. data/lib/ey-core/requests/get_untracked_server.rb +18 -18
  415. data/lib/ey-core/requests/get_untracked_servers.rb +24 -24
  416. data/lib/ey-core/requests/get_user.rb +21 -21
  417. data/lib/ey-core/requests/get_users.rb +42 -42
  418. data/lib/ey-core/requests/get_volume.rb +21 -21
  419. data/lib/ey-core/requests/get_volumes.rb +28 -28
  420. data/lib/ey-core/requests/reboot_server.rb +39 -39
  421. data/lib/ey-core/requests/reconcile_server.rb +39 -39
  422. data/lib/ey-core/requests/request_callback.rb +26 -26
  423. data/lib/ey-core/requests/reset_password.rb +31 -31
  424. data/lib/ey-core/requests/reset_server_state.rb +32 -32
  425. data/lib/ey-core/requests/restart_environment_app_servers.rb +38 -38
  426. data/lib/ey-core/requests/run_cluster_application_action.rb +28 -28
  427. data/lib/ey-core/requests/run_environment_application_action.rb +29 -29
  428. data/lib/ey-core/requests/signup.rb +56 -56
  429. data/lib/ey-core/requests/start_server.rb +39 -39
  430. data/lib/ey-core/requests/stop_server.rb +39 -39
  431. data/lib/ey-core/requests/timeout_deployment.rb +27 -27
  432. data/lib/ey-core/requests/unassign_environment.rb +31 -31
  433. data/lib/ey-core/requests/update_addon.rb +28 -28
  434. data/lib/ey-core/requests/update_address.rb +29 -29
  435. data/lib/ey-core/requests/update_alert.rb +32 -32
  436. data/lib/ey-core/requests/update_application_archive.rb +23 -23
  437. data/lib/ey-core/requests/update_auto_scaling_alarm.rb +45 -0
  438. data/lib/ey-core/requests/update_auto_scaling_group.rb +45 -45
  439. data/lib/ey-core/requests/update_auto_scaling_policy.rb +46 -0
  440. data/lib/ey-core/requests/update_billing.rb +26 -26
  441. data/lib/ey-core/requests/update_blueprint.rb +29 -29
  442. data/lib/ey-core/requests/update_connector.rb +32 -32
  443. data/lib/ey-core/requests/update_environment.rb +17 -17
  444. data/lib/ey-core/requests/update_environment_variable.rb +25 -0
  445. data/lib/ey-core/requests/update_membership.rb +29 -29
  446. data/lib/ey-core/requests/update_provider_location.rb +29 -29
  447. data/lib/ey-core/requests/update_server.rb +29 -29
  448. data/lib/ey-core/requests/update_ssl_certificate.rb +25 -25
  449. data/lib/ey-core/requests/update_untracked_server.rb +24 -24
  450. data/lib/ey-core/requests/upload_file.rb +44 -44
  451. data/lib/ey-core/requests/upload_recipes_for_environment.rb +28 -28
  452. data/lib/ey-core/response.rb +59 -59
  453. data/lib/ey-core/response_cache.rb +29 -29
  454. data/lib/ey-core/subscribable.rb +60 -60
  455. data/lib/ey-core/test_helpers/account_helpers.rb +73 -73
  456. data/lib/ey-core/test_helpers/alert_helpers.rb +16 -16
  457. data/lib/ey-core/test_helpers/auto_scaling_helpers.rb +35 -0
  458. data/lib/ey-core/test_helpers/client_helpers.rb +40 -40
  459. data/lib/ey-core/test_helpers/cucumber.rb +3 -3
  460. data/lib/ey-core/test_helpers/resource_helpers.rb +196 -196
  461. data/lib/ey-core/test_helpers/rspec.rb +5 -5
  462. data/lib/ey-core/test_helpers.rb +17 -15
  463. data/lib/ey-core/token_authentication.rb +13 -13
  464. data/lib/ey-core/version.rb +5 -5
  465. data/lib/ey-core.rb +59 -59
  466. data/spec/account_spec.rb +65 -65
  467. data/spec/account_trial_spec.rb +17 -17
  468. data/spec/accounts_referrals_spec.rb +20 -20
  469. data/spec/accounts_spec.rb +113 -113
  470. data/spec/addons_and_vars_spec.rb +62 -62
  471. data/spec/addresses_spec.rb +57 -56
  472. data/spec/alerts_spec.rb +155 -155
  473. data/spec/application_archives_spec.rb +39 -39
  474. data/spec/applications_spec.rb +65 -65
  475. data/spec/auto_scaling_alarms_spec.rb +40 -0
  476. data/spec/auto_scaling_groups_spec.rb +28 -28
  477. data/spec/auto_scaling_policies_spec.rb +94 -0
  478. data/spec/billing_spec.rb +31 -31
  479. data/spec/blueprints_spec.rb +47 -47
  480. data/spec/client_spec.rb +16 -16
  481. data/spec/collection_spec.rb +43 -43
  482. data/spec/costs_spec.rb +22 -22
  483. data/spec/database_plan_usage_spec.rb +39 -39
  484. data/spec/database_server_snapshots_spec.rb +41 -41
  485. data/spec/database_server_usage_spec.rb +49 -49
  486. data/spec/database_servers_spec.rb +61 -61
  487. data/spec/database_services_spec.rb +76 -76
  488. data/spec/deployments_spec.rb +24 -24
  489. data/spec/environment_plan_usage_spec.rb +38 -38
  490. data/spec/environments_spec.rb +212 -212
  491. data/spec/ey-core/cli/accounts_spec.rb +20 -20
  492. data/spec/ey-core/cli/helpers/server_sieve_spec.rb +226 -226
  493. data/spec/ey-core/cli/recipes/apply_spec.rb +34 -34
  494. data/spec/ey-core/cli/recipes/download_spec.rb +93 -93
  495. data/spec/ey-core/cli/recipes/upload_spec.rb +80 -80
  496. data/spec/features_spec.rb +79 -79
  497. data/spec/firewalls_spec.rb +84 -84
  498. data/spec/gems_spec.rb +11 -11
  499. data/spec/keypair_deployments_spec.rb +33 -33
  500. data/spec/keypairs_spec.rb +51 -51
  501. data/spec/legacy_alerts_spec.rb +44 -44
  502. data/spec/load_balancers_spec.rb +31 -31
  503. data/spec/logical_databases_spec.rb +38 -38
  504. data/spec/logs_spec.rb +44 -44
  505. data/spec/memberships_spec.rb +73 -73
  506. data/spec/messages_spec.rb +27 -27
  507. data/spec/metadata_spec.rb +11 -11
  508. data/spec/plan_usage_spec.rb +65 -65
  509. data/spec/provider_locations_spec.rb +85 -85
  510. data/spec/providers_spec.rb +105 -105
  511. data/spec/requests/upload_file_spec.rb +25 -25
  512. data/spec/requests_spec.rb +23 -23
  513. data/spec/reset_password_spec.rb +22 -22
  514. data/spec/server_events_spec.rb +31 -31
  515. data/spec/server_usage_spec.rb +70 -70
  516. data/spec/servers_spec.rb +202 -202
  517. data/spec/services_spec.rb +9 -9
  518. data/spec/signups_spec.rb +45 -45
  519. data/spec/spec_helper.rb +27 -20
  520. data/spec/ssl_certificates_spec.rb +94 -94
  521. data/spec/storages_spec.rb +57 -57
  522. data/spec/support/cli_helpers.rb +47 -47
  523. data/spec/support/core.rb +23 -23
  524. data/spec/support/coverage.rb +43 -43
  525. data/spec/support/fake_kernel.rb +21 -21
  526. data/spec/support/helpers.rb +1 -1
  527. data/spec/support/timecop.rb +8 -8
  528. data/spec/support_trial_spec.rb +33 -33
  529. data/spec/tokens_spec.rb +59 -59
  530. data/spec/untracked_servers_spec.rb +59 -59
  531. data/spec/users_spec.rb +108 -108
  532. metadata +40 -6
  533. data/bin/console +0 -4
data/examples/stop_env.rb CHANGED
@@ -1,51 +1,51 @@
1
- #!/usr/bin/env ruby
2
-
3
- # Very basic example of how to stop a given environment.
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: stop_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
-
17
- end.parse!
18
-
19
- # Token comes from '~/.eyrc'
20
- eyrc = YAML.load_file(File.expand_path("~/.eyrc"))
21
-
22
- client = Ey::Core::Client.new(token: eyrc['api_token'])
23
-
24
- # Account name as shown in cloud.engineyard.com
25
- account = client.accounts.first(name: options[:account_name])
26
-
27
- # Environment's name
28
- environment = account.environments.first(name: options[:environment_name])
29
-
30
- if environment.servers.count == 0 then
31
- puts "Environment doesn't have instances running, are you sure it isn't stopped already?"
32
- exit
33
- end
34
-
35
- puts "Stopping environment #{environment.name}...."
36
- deprovision_request = environment.deprovision
37
-
38
- # Stoping the environment with a timeout of 1200sec.
39
- # Adjust as necessary depending of the size of the environment.
40
- deprovision_request.ready!(1200)
41
-
42
- puts "-------------------"
43
-
44
- if !deprovision_request.successful? then
45
- puts "Stop environment FAILED!!!"
46
- puts "Check cloud.engineyard.com for more details"
47
- exit
48
- end
49
-
50
- puts "Stop environment SUCCEDED!!!"
51
-
1
+ #!/usr/bin/env ruby
2
+
3
+ # Very basic example of how to stop a given environment.
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: stop_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
+
17
+ end.parse!
18
+
19
+ # Token comes from '~/.eyrc'
20
+ eyrc = YAML.load_file(File.expand_path("~/.eyrc"))
21
+
22
+ client = Ey::Core::Client.new(token: eyrc['api_token'])
23
+
24
+ # Account name as shown in cloud.engineyard.com
25
+ account = client.accounts.first(name: options[:account_name])
26
+
27
+ # Environment's name
28
+ environment = account.environments.first(name: options[:environment_name])
29
+
30
+ if environment.servers.count == 0 then
31
+ puts "Environment doesn't have instances running, are you sure it isn't stopped already?"
32
+ exit
33
+ end
34
+
35
+ puts "Stopping environment #{environment.name}...."
36
+ deprovision_request = environment.deprovision
37
+
38
+ # Stoping the environment with a timeout of 1200sec.
39
+ # Adjust as necessary depending of the size of the environment.
40
+ deprovision_request.ready!(1200)
41
+
42
+ puts "-------------------"
43
+
44
+ if !deprovision_request.successful? then
45
+ puts "Stop environment FAILED!!!"
46
+ puts "Check cloud.engineyard.com for more details"
47
+ exit
48
+ end
49
+
50
+ puts "Stop environment SUCCEDED!!!"
51
+
@@ -1,62 +1,62 @@
1
- #!/usr/bin/env ruby
2
-
3
- # Very basic example of how to terminate a given instance in a given environment.
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: terminate_instance.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('-n', '--iname NAME', 'Instance name') { |v| options[:instance_name] = v }
17
- opts.on('-s', '--skip_snapshot', 'Skip snapshotting the volumes') { |v| options[:skip_snapshot] = true }
18
-
19
- end.parse!
20
-
21
- # Token comes from '~/.eyrc'
22
- eyrc = YAML.load_file(File.expand_path("~/.eyrc"))
23
-
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
- # Instance's name
33
- instance_name = options[:instance_name]
34
-
35
- # Skip snapshot
36
- skip_snapshot = options[:skip_snapshot] ? true : false
37
-
38
- puts "Terminating instance #{instance_name} on environment #{environment.name}...."
39
-
40
- servers = environment.servers.select{|s| s.name == instance_name}
41
- if !servers then
42
- puts "Couldn't find instance #{instance_name} on environment #{environment.name}!!!!"
43
- puts "Check cloud.engineyard.com for more details"
44
- exit
45
- end
46
-
47
- server = servers[0]
48
- deprovision_request = server.destroy!(skip_snapshot)
49
- if !deprovision_request then
50
- puts "Termination of instance #{instance_name} FAILED!!!!"
51
- puts "Check cloud.engineyard.com for more details"
52
- exit
53
- end
54
-
55
- # Terminating the instance with a timeout of 1200sec (20min) as a ballpark figure.
56
- # Adjust as necessary depending of the size/role of the instance.
57
- deprovision_request.ready!(1200)
58
-
59
- puts "*"
60
- puts "Instance #{instance_name} terminated successfully"
61
- puts "-------------------"
62
-
1
+ #!/usr/bin/env ruby
2
+
3
+ # Very basic example of how to terminate a given instance in a given environment.
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: terminate_instance.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('-n', '--iname NAME', 'Instance name') { |v| options[:instance_name] = v }
17
+ opts.on('-s', '--skip_snapshot', 'Skip snapshotting the volumes') { |v| options[:skip_snapshot] = true }
18
+
19
+ end.parse!
20
+
21
+ # Token comes from '~/.eyrc'
22
+ eyrc = YAML.load_file(File.expand_path("~/.eyrc"))
23
+
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
+ # Instance's name
33
+ instance_name = options[:instance_name]
34
+
35
+ # Skip snapshot
36
+ skip_snapshot = options[:skip_snapshot] ? true : false
37
+
38
+ puts "Terminating instance #{instance_name} on environment #{environment.name}...."
39
+
40
+ servers = environment.servers.select{|s| s.name == instance_name}
41
+ if !servers then
42
+ puts "Couldn't find instance #{instance_name} on environment #{environment.name}!!!!"
43
+ puts "Check cloud.engineyard.com for more details"
44
+ exit
45
+ end
46
+
47
+ server = servers[0]
48
+ deprovision_request = server.destroy!(skip_snapshot)
49
+ if !deprovision_request then
50
+ puts "Termination of instance #{instance_name} FAILED!!!!"
51
+ puts "Check cloud.engineyard.com for more details"
52
+ exit
53
+ end
54
+
55
+ # Terminating the instance with a timeout of 1200sec (20min) as a ballpark figure.
56
+ # Adjust as necessary depending of the size/role of the instance.
57
+ deprovision_request.ready!(1200)
58
+
59
+ puts "*"
60
+ puts "Instance #{instance_name} terminated successfully"
61
+ puts "-------------------"
62
+
data/ey-core.gemspec CHANGED
@@ -1,51 +1,51 @@
1
- # -*- encoding: utf-8 -*-
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'ey-core/version'
5
-
6
- Gem::Specification.new do |gem|
7
- gem.name = "ey-core"
8
- gem.version = Ey::Core::VERSION
9
- gem.authors = ["Engine Yard Engineering"]
10
- gem.email = ["engineering@engineyard.com"]
11
- gem.description = %q{Engine Yard Core API Ruby Client}
12
- gem.summary = %q{Client library providing real and mock functionality for accessing Engine Yard's Core API}
13
- gem.homepage = "https://github.com/engineyard/core-client-rb"
14
-
15
- gem.files = `git ls-files`.split($/)
16
- gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
- gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
- gem.require_paths = ["lib"]
19
- gem.licenses = ["MIT"]
20
-
21
- gem.required_ruby_version = ">= 2.2.2"
22
-
23
- gem.add_dependency "addressable"
24
-
25
- gem.add_dependency "awesome_print"
26
- gem.add_dependency "belafonte"
27
- gem.add_dependency "cistern", "~> 0.12.3"
28
- gem.add_dependency "colorize"
29
- gem.add_dependency "ey-hmac", "~> 2.0"
30
- gem.add_dependency "escape"
31
- gem.add_dependency "faraday", "~> 0.9"
32
- gem.add_dependency "faraday_middleware", "~> 0.9"
33
- gem.add_dependency "rack"
34
- gem.add_dependency "faye"
35
- gem.add_dependency "highline"
36
- gem.add_dependency "json", "< 2.0"
37
- gem.add_dependency "mime-types"
38
- gem.add_dependency "oj"
39
- gem.add_dependency "oj_mimic_json"
40
- gem.add_dependency "pry"
41
- gem.add_dependency "sshkey", "~> 1.6"
42
- gem.add_dependency "table_print"
43
-
44
- gem.add_development_dependency "pry-nav"
45
- gem.add_development_dependency "rspec", "~> 3.0"
46
- gem.add_development_dependency "ffaker"
47
- gem.add_development_dependency "rake"
48
- gem.add_development_dependency "aruba", "~> 0.11"
49
- gem.add_development_dependency "cucumber", "~> 2.1"
50
- gem.add_development_dependency "factis", "~> 1.0"
51
- end
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'ey-core/version'
5
+
6
+ Gem::Specification.new do |gem|
7
+ gem.name = "ey-core"
8
+ gem.version = Ey::Core::VERSION
9
+ gem.authors = ["Engine Yard Engineering"]
10
+ gem.email = ["engineering@engineyard.com"]
11
+ gem.description = %q{Engine Yard Core API Ruby Client}
12
+ gem.summary = %q{Client library providing real and mock functionality for accessing Engine Yard's Core API}
13
+ gem.homepage = ""
14
+
15
+ gem.files = `git ls-files`.split($/)
16
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
+ gem.require_paths = ["lib"]
19
+ gem.licenses = ["MIT"]
20
+
21
+ gem.required_ruby_version = ">= 2.2.2"
22
+
23
+ gem.add_dependency "addressable"
24
+
25
+ gem.add_dependency "awesome_print"
26
+ gem.add_dependency "belafonte"
27
+ gem.add_dependency "cistern", "~> 0.12.3"
28
+ gem.add_dependency "colorize"
29
+ gem.add_dependency "ey-hmac", "~> 2.0"
30
+ gem.add_dependency "escape"
31
+ gem.add_dependency "faraday", "~> 0.9"
32
+ gem.add_dependency "faraday_middleware", "~> 0.9"
33
+ gem.add_dependency "rack"
34
+ gem.add_dependency "faye"
35
+ gem.add_dependency "highline"
36
+ gem.add_dependency "json", "< 2.0"
37
+ gem.add_dependency "mime-types"
38
+ gem.add_dependency "oj"
39
+ gem.add_dependency "oj_mimic_json"
40
+ gem.add_dependency "pry"
41
+ gem.add_dependency "sshkey", "~> 1.6"
42
+ gem.add_dependency "table_print"
43
+
44
+ gem.add_development_dependency "pry-nav"
45
+ gem.add_development_dependency "rspec", "~> 3.0"
46
+ gem.add_development_dependency "ffaker"
47
+ gem.add_development_dependency "rake"
48
+ gem.add_development_dependency "aruba", "~> 0.11"
49
+ gem.add_development_dependency "cucumber", "~> 2.1"
50
+ gem.add_development_dependency "factis", "~> 1.0"
51
+ end
@@ -1,13 +1,13 @@
1
- Feature: Accounts
2
- In order to know what Engine Yard accounts I can access
3
- As a User
4
- I want to be able to list the accounts with which I'm associated
5
-
6
- Background:
7
- Given I'm an Engine Yard user
8
- And ey-core is configured with my cloud token
9
- And I'm associated with several accounts
10
-
11
- Scenario: Listing my accounts
12
- When I run `ey-core accounts`
13
- Then I see the name and ID of each of my accounts
1
+ Feature: Accounts
2
+ In order to know what Engine Yard accounts I can access
3
+ As a User
4
+ I want to be able to list the accounts with which I'm associated
5
+
6
+ Background:
7
+ Given I'm an Engine Yard user
8
+ And ey-core is configured with my cloud token
9
+ And I'm associated with several accounts
10
+
11
+ Scenario: Listing my accounts
12
+ When I run `ey-core accounts`
13
+ Then I see the name and ID of each of my accounts
@@ -1,29 +1,29 @@
1
- Feature: Applications
2
- In order to determine what I can work with
3
- As a User
4
- I want to be able to list the applications that live in my accounts
5
-
6
- Background:
7
- Given I'm an Engine Yard user
8
- And ey-core is configured with my cloud token
9
- And I have the following accounts:
10
- | Account Name |
11
- | one |
12
- | two |
13
- | three |
14
- And each of my accounts has several applications
15
-
16
- Scenario: Listing all of my applications
17
- When I run `ey-core applications`
18
- Then I see the name and ID for all of my applications
19
-
20
- Scenario Outline: Listing applications for a specific account
21
- When I run `ey-core applications <Account Flag> one`
22
- Then I see the applications in the one account
23
- But I do not see applications from other accounts
24
-
25
- Examples:
26
- | Account Flag |
27
- | -a |
28
- | --account |
29
-
1
+ Feature: Applications
2
+ In order to determine what I can work with
3
+ As a User
4
+ I want to be able to list the applications that live in my accounts
5
+
6
+ Background:
7
+ Given I'm an Engine Yard user
8
+ And ey-core is configured with my cloud token
9
+ And I have the following accounts:
10
+ | Account Name |
11
+ | one |
12
+ | two |
13
+ | three |
14
+ And each of my accounts has several applications
15
+
16
+ Scenario: Listing all of my applications
17
+ When I run `ey-core applications`
18
+ Then I see the name and ID for all of my applications
19
+
20
+ Scenario Outline: Listing applications for a specific account
21
+ When I run `ey-core applications <Account Flag> one`
22
+ Then I see the applications in the one account
23
+ But I do not see applications from other accounts
24
+
25
+ Examples:
26
+ | Account Flag |
27
+ | -a |
28
+ | --account |
29
+
@@ -1,14 +1,14 @@
1
- Feature: Current User
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 current_user`
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: Current User
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 current_user`
12
+ Then I should see my user ID
13
+ And I should see my email address
14
+ And I should see my name
@@ -0,0 +1,54 @@
1
+ Feature: Environment Variables
2
+ In order to know current values of environment variables assigned to my Engine Yard environments
3
+ As a User
4
+ I want to be able to list the environment variables for environments which I'm associated
5
+
6
+ Background:
7
+ Given I'm an Engine Yard user
8
+ And ey-core is configured with my cloud token
9
+ And I have the following accounts:
10
+ | Account Name |
11
+ | one |
12
+ | two |
13
+ | three |
14
+ And I have the following applications:
15
+ | Account Name | Application Name |
16
+ | one | blog_app |
17
+ | two | todo_app |
18
+ And I have the following environments:
19
+ | Application Name | Environment Name |
20
+ | blog_app | staging |
21
+ | blog_app | production |
22
+ | todo_app | staging |
23
+ And I have the following environment variables:
24
+ | Name | Value | Application Name | Environment Name | Sensitive |
25
+ | SECRET_BASE | abc= | blog_app | staging | false |
26
+ | DB_PASSWORD | 123qweasd!! | blog_app | staging | true |
27
+ | SECRET_BASE | qwe= | blog_app | production | false |
28
+ | DB_PASSWORD | 987qweasd!! | blog_app | production | true |
29
+ | DB_PASSWORD | my_secure_password | todo_app | staging | true |
30
+
31
+ Scenario: Listing all of my environment variables
32
+ When I run `ey-core environment_variables`
33
+ Then I see the name and value for all of my environments as well as name of associated environment and application
34
+
35
+ Scenario Outline: Listing environment variables for a specific environment
36
+ When I run `ey-core environment_variables <Environment Flag> staging`
37
+ Then I see the environment variables associated with `staging` environment
38
+ But I do not see environment variables associated with any other environments different from `staging`
39
+
40
+ Examples:
41
+ | Environment Flag |
42
+ | -e |
43
+ | --environment |
44
+
45
+ Scenario Outline: Listing environment variables for a specific application
46
+ When I run `ey-core environment_variables <Application Flag> blog_app`
47
+ Then I see the environment variables associated with `blog_app` application
48
+ But I do not see environment variables associated with any other applications different from `blog_app`
49
+
50
+ Examples:
51
+ | Application Flag |
52
+ | -a |
53
+ | --application |
54
+
@@ -1,30 +1,30 @@
1
- Feature: Environments
2
- In order to know what Engine Yard environments I can access
3
- As a User
4
- I want to be able to list the environments with which I'm associated
5
-
6
- Background:
7
- Given I'm an Engine Yard user
8
- And ey-core is configured with my cloud token
9
- And I have the following accounts:
10
- | Account Name |
11
- | one |
12
- | two |
13
- | three |
14
- And each of my accounts has several applications
15
- And each of my applications has an environment
16
-
17
- Scenario: Listing all of my environments
18
- When I run `ey-core environments`
19
- Then I see the name and ID for all of my environments
20
-
21
- Scenario Outline: Listing environments for a specific account
22
- When I run `ey-core environments <Account Flag> one`
23
- Then I see the environments in the one account
24
- But I do not see environments from other accounts
25
-
26
- Examples:
27
- | Account Flag |
28
- | -a |
29
- | --account |
30
-
1
+ Feature: Environments
2
+ In order to know what Engine Yard environments I can access
3
+ As a User
4
+ I want to be able to list the environments with which I'm associated
5
+
6
+ Background:
7
+ Given I'm an Engine Yard user
8
+ And ey-core is configured with my cloud token
9
+ And I have the following accounts:
10
+ | Account Name |
11
+ | one |
12
+ | two |
13
+ | three |
14
+ And each of my accounts has several applications
15
+ And each of my applications has an environment
16
+
17
+ Scenario: Listing all of my environments
18
+ When I run `ey-core environments`
19
+ Then I see the name and ID for all of my environments
20
+
21
+ Scenario Outline: Listing environments for a specific account
22
+ When I run `ey-core environments <Account Flag> one`
23
+ Then I see the environments in the one account
24
+ But I do not see environments from other accounts
25
+
26
+ Examples:
27
+ | Account Flag |
28
+ | -a |
29
+ | --account |
30
+
@@ -1,6 +1,6 @@
1
- Feature: Init
2
- This command is deprecated
3
-
4
- Scenario: Running init
5
- When I run `ey-core init`
6
- Then I am advised that this command has been deprecated
1
+ Feature: Init
2
+ This command is deprecated
3
+
4
+ Scenario: Running init
5
+ When I run `ey-core init`
6
+ Then I am advised that this command has been deprecated
@@ -1,6 +1,6 @@
1
- Feature: Login
2
- In order to interact with Engine Yard Cloud
3
- As a User
4
- I want to be able to log into the Cloud API
5
-
6
-
1
+ Feature: Login
2
+ In order to interact with Engine Yard Cloud
3
+ As a User
4
+ I want to be able to log into the Cloud API
5
+
6
+
data/features/scp.feature CHANGED
@@ -1,6 +1,6 @@
1
- Feature: Scp
2
- This command is deprecated
3
-
4
- Scenario: Running init
5
- When I run `ey-core init`
6
- Then I am advised that this command has been deprecated
1
+ Feature: Scp
2
+ This command is deprecated
3
+
4
+ Scenario: Running init
5
+ When I run `ey-core init`
6
+ Then I am advised that this command has been deprecated