ey-core 3.4.5 → 3.6.0.autoscaling1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +23 -26
  3. data/.ruby-gemset +1 -1
  4. data/.ruby-version +1 -1
  5. data/.travis.yml +23 -23
  6. data/CHANGELOG.md +174 -166
  7. data/Dockerfile +3 -0
  8. data/Gemfile +21 -21
  9. data/Guardfile +15 -15
  10. data/LICENSE.txt +19 -19
  11. data/README.md +78 -78
  12. data/Rakefile +18 -18
  13. data/bin/ey-core +4 -4
  14. data/examples/add_instance.rb +74 -74
  15. data/examples/boot_env.rb +60 -60
  16. data/examples/console/README.md +14 -14
  17. data/examples/console/address.md +51 -51
  18. data/examples/stop_env.rb +51 -51
  19. data/examples/terminate_instance.rb +62 -62
  20. data/ey-core.gemspec +51 -51
  21. data/features/accounts.feature +13 -13
  22. data/features/applications.feature +29 -29
  23. data/features/current_user.feature +14 -14
  24. data/features/environment_variables.feature +54 -0
  25. data/features/environments.feature +30 -30
  26. data/features/init.feature +6 -6
  27. data/features/login.feature +6 -6
  28. data/features/scp.feature +6 -6
  29. data/features/step_definitions/accounts_steps.rb +37 -23
  30. data/features/step_definitions/applications_steps.rb +39 -46
  31. data/features/step_definitions/current_user_steps.rb +11 -11
  32. data/features/step_definitions/deprecated_command_steps.rb +3 -3
  33. data/features/step_definitions/environment_variables_steps.rb +51 -0
  34. data/features/step_definitions/environments_steps.rb +52 -37
  35. data/features/step_definitions/version_steps.rb +3 -3
  36. data/features/support/account_helpers.rb +89 -89
  37. data/features/support/app_helpers.rb +19 -19
  38. data/features/support/aruba.rb +1 -1
  39. data/features/support/boilerplate.rb +1 -1
  40. data/features/support/client_helpers.rb +36 -36
  41. data/features/support/config_file_helpers.rb +42 -42
  42. data/features/support/core.rb +19 -19
  43. data/features/support/deployment_helpers.rb +19 -19
  44. data/features/support/env.rb +40 -40
  45. data/features/support/environment_helpers.rb +23 -23
  46. data/features/support/environment_variable_helpers.rb +20 -0
  47. data/features/support/fake_kernel.rb +23 -23
  48. data/features/support/io.rb +5 -5
  49. data/features/support/mock_api.rb +21 -21
  50. data/features/support/output_helpers.rb +7 -7
  51. data/features/support/resource_helpers.rb +201 -189
  52. data/features/support/server_helpers.rb +27 -27
  53. data/features/version.feature +8 -8
  54. data/features/whoami.feature +14 -14
  55. data/lib/ey-core/associations.rb +155 -155
  56. data/lib/ey-core/cli/accounts.rb +17 -17
  57. data/lib/ey-core/cli/applications.rb +36 -36
  58. data/lib/ey-core/cli/console.rb +28 -28
  59. data/lib/ey-core/cli/current_user.rb +16 -16
  60. data/lib/ey-core/cli/deploy.rb +123 -123
  61. data/lib/ey-core/cli/environment_variables.rb +71 -0
  62. data/lib/ey-core/cli/environments.rb +39 -39
  63. data/lib/ey-core/cli/errors.rb +11 -11
  64. data/lib/ey-core/cli/help.rb +30 -30
  65. data/lib/ey-core/cli/helpers/archive.rb +70 -70
  66. data/lib/ey-core/cli/helpers/chef.rb +51 -51
  67. data/lib/ey-core/cli/helpers/core.rb +225 -196
  68. data/lib/ey-core/cli/helpers/deprecated.rb +39 -39
  69. data/lib/ey-core/cli/helpers/log_streaming.rb +41 -41
  70. data/lib/ey-core/cli/helpers/server_sieve.rb +76 -76
  71. data/lib/ey-core/cli/helpers/stream_printer.rb +42 -42
  72. data/lib/ey-core/cli/init.rb +14 -14
  73. data/lib/ey-core/cli/login.rb +38 -38
  74. data/lib/ey-core/cli/logout.rb +22 -22
  75. data/lib/ey-core/cli/logs.rb +70 -70
  76. data/lib/ey-core/cli/main.rb +67 -65
  77. data/lib/ey-core/cli/recipes/apply.rb +65 -65
  78. data/lib/ey-core/cli/recipes/download.rb +52 -52
  79. data/lib/ey-core/cli/recipes/main.rb +21 -21
  80. data/lib/ey-core/cli/recipes/upload.rb +78 -78
  81. data/lib/ey-core/cli/recipes.rb +10 -10
  82. data/lib/ey-core/cli/scp.rb +14 -14
  83. data/lib/ey-core/cli/servers.rb +58 -41
  84. data/lib/ey-core/cli/ssh.rb +150 -150
  85. data/lib/ey-core/cli/status.rb +60 -60
  86. data/lib/ey-core/cli/subcommand.rb +53 -53
  87. data/lib/ey-core/cli/timeout_deploy.rb +58 -58
  88. data/lib/ey-core/cli/version.rb +16 -16
  89. data/lib/ey-core/cli/web/disable.rb +49 -49
  90. data/lib/ey-core/cli/web/enable.rb +46 -46
  91. data/lib/ey-core/cli/web/main.rb +21 -21
  92. data/lib/ey-core/cli/web/restart.rb +42 -42
  93. data/lib/ey-core/cli/web.rb +10 -10
  94. data/lib/ey-core/cli/whoami.rb +12 -12
  95. data/lib/ey-core/cli.rb +8 -8
  96. data/lib/ey-core/client/mock.rb +306 -302
  97. data/lib/ey-core/client/real.rb +93 -93
  98. data/lib/ey-core/client.rb +468 -442
  99. data/lib/ey-core/collection.rb +131 -131
  100. data/lib/ey-core/collections/account_cancellations.rb +6 -6
  101. data/lib/ey-core/collections/account_referrals.rb +10 -10
  102. data/lib/ey-core/collections/accounts.rb +8 -8
  103. data/lib/ey-core/collections/addons.rb +16 -16
  104. data/lib/ey-core/collections/addresses.rb +9 -9
  105. data/lib/ey-core/collections/alerts.rb +9 -9
  106. data/lib/ey-core/collections/application_archives.rb +9 -9
  107. data/lib/ey-core/collections/application_deployments.rb +9 -9
  108. data/lib/ey-core/collections/applications.rb +9 -9
  109. data/lib/ey-core/collections/auto_scaling_alarms.rb +8 -0
  110. data/lib/ey-core/collections/auto_scaling_groups.rb +8 -8
  111. data/lib/ey-core/collections/auto_scaling_policies.rb +33 -0
  112. data/lib/ey-core/collections/backup_files.rb +9 -9
  113. data/lib/ey-core/collections/blueprints.rb +9 -9
  114. data/lib/ey-core/collections/components.rb +9 -9
  115. data/lib/ey-core/collections/contacts.rb +9 -9
  116. data/lib/ey-core/collections/container_clusters.rb +9 -0
  117. data/lib/ey-core/collections/container_service_deployments.rb +17 -0
  118. data/lib/ey-core/collections/costs.rb +8 -8
  119. data/lib/ey-core/collections/database_plan_usages.rb +7 -7
  120. data/lib/ey-core/collections/database_server_revisions.rb +7 -7
  121. data/lib/ey-core/collections/database_server_snapshots.rb +17 -17
  122. data/lib/ey-core/collections/database_server_usages.rb +7 -7
  123. data/lib/ey-core/collections/database_servers.rb +9 -9
  124. data/lib/ey-core/collections/database_services.rb +9 -9
  125. data/lib/ey-core/collections/deployments.rb +8 -8
  126. data/lib/ey-core/collections/environment_plan_usages.rb +7 -7
  127. data/lib/ey-core/collections/environment_variables.rb +8 -0
  128. data/lib/ey-core/collections/environments.rb +15 -15
  129. data/lib/ey-core/collections/features.rb +9 -9
  130. data/lib/ey-core/collections/firewall_rules.rb +9 -9
  131. data/lib/ey-core/collections/firewalls.rb +9 -9
  132. data/lib/ey-core/collections/gems.rb +6 -6
  133. data/lib/ey-core/collections/keypair_deployments.rb +9 -9
  134. data/lib/ey-core/collections/keypairs.rb +9 -9
  135. data/lib/ey-core/collections/legacy_alerts.rb +9 -9
  136. data/lib/ey-core/collections/load_balancer_nodes.rb +9 -9
  137. data/lib/ey-core/collections/load_balancer_services.rb +9 -9
  138. data/lib/ey-core/collections/load_balancers.rb +16 -16
  139. data/lib/ey-core/collections/logical_databases.rb +16 -16
  140. data/lib/ey-core/collections/logs.rb +9 -9
  141. data/lib/ey-core/collections/memberships.rb +9 -9
  142. data/lib/ey-core/collections/messages.rb +9 -9
  143. data/lib/ey-core/collections/plan_usages.rb +7 -7
  144. data/lib/ey-core/collections/provider_locations.rb +13 -13
  145. data/lib/ey-core/collections/providers.rb +15 -15
  146. data/lib/ey-core/collections/requests.rb +10 -10
  147. data/lib/ey-core/collections/server_events.rb +9 -9
  148. data/lib/ey-core/collections/server_usages.rb +7 -7
  149. data/lib/ey-core/collections/servers.rb +13 -13
  150. data/lib/ey-core/collections/services.rb +14 -14
  151. data/lib/ey-core/collections/ssl_certificates.rb +9 -9
  152. data/lib/ey-core/collections/storage_users.rb +10 -10
  153. data/lib/ey-core/collections/storages.rb +9 -9
  154. data/lib/ey-core/collections/tasks.rb +9 -9
  155. data/lib/ey-core/collections/tokens.rb +9 -9
  156. data/lib/ey-core/collections/untracked_addresses.rb +4 -4
  157. data/lib/ey-core/collections/untracked_servers.rb +9 -9
  158. data/lib/ey-core/collections/users.rb +12 -12
  159. data/lib/ey-core/collections/volumes.rb +9 -9
  160. data/lib/ey-core/logger.rb +31 -31
  161. data/lib/ey-core/memory_cache.rb +17 -17
  162. data/lib/ey-core/mock/helper.rb +104 -104
  163. data/lib/ey-core/mock/params.rb +31 -31
  164. data/lib/ey-core/mock/resources.rb +92 -92
  165. data/lib/ey-core/mock/searching.rb +115 -115
  166. data/lib/ey-core/mock/util.rb +23 -23
  167. data/lib/ey-core/model.rb +44 -44
  168. data/lib/ey-core/models/account.rb +70 -70
  169. data/lib/ey-core/models/account_cancellation.rb +6 -6
  170. data/lib/ey-core/models/account_referral.rb +8 -8
  171. data/lib/ey-core/models/account_trial.rb +15 -15
  172. data/lib/ey-core/models/addon.rb +37 -37
  173. data/lib/ey-core/models/address.rb +59 -57
  174. data/lib/ey-core/models/alert.rb +99 -100
  175. data/lib/ey-core/models/application.rb +33 -32
  176. data/lib/ey-core/models/application_archive.rb +67 -67
  177. data/lib/ey-core/models/application_deployment.rb +18 -18
  178. data/lib/ey-core/models/auto_scaling_alarm.rb +54 -0
  179. data/lib/ey-core/models/auto_scaling_group.rb +75 -49
  180. data/lib/ey-core/models/backup_file.rb +52 -52
  181. data/lib/ey-core/models/base_auto_scaling_policy.rb +61 -0
  182. data/lib/ey-core/models/billing.rb +27 -27
  183. data/lib/ey-core/models/blueprint.rb +30 -30
  184. data/lib/ey-core/models/component.rb +11 -11
  185. data/lib/ey-core/models/contact.rb +14 -14
  186. data/lib/ey-core/models/container_service_deployment.rb +17 -0
  187. data/lib/ey-core/models/cost.rb +16 -16
  188. data/lib/ey-core/models/database_plan_usage.rb +10 -10
  189. data/lib/ey-core/models/database_server.rb +56 -56
  190. data/lib/ey-core/models/database_server_revision.rb +10 -10
  191. data/lib/ey-core/models/database_server_snapshot.rb +43 -43
  192. data/lib/ey-core/models/database_server_usage.rb +15 -15
  193. data/lib/ey-core/models/database_service.rb +52 -52
  194. data/lib/ey-core/models/deployment.rb +30 -30
  195. data/lib/ey-core/models/environment.rb +248 -242
  196. data/lib/ey-core/models/environment_plan_usage.rb +10 -10
  197. data/lib/ey-core/models/environment_variable.rb +29 -0
  198. data/lib/ey-core/models/feature.rb +33 -33
  199. data/lib/ey-core/models/firewall.rb +46 -46
  200. data/lib/ey-core/models/firewall_rule.rb +41 -41
  201. data/lib/ey-core/models/gem.rb +5 -5
  202. data/lib/ey-core/models/keypair.rb +38 -38
  203. data/lib/ey-core/models/keypair_deployment.rb +26 -26
  204. data/lib/ey-core/models/legacy_alert.rb +12 -12
  205. data/lib/ey-core/models/load_balancer.rb +43 -43
  206. data/lib/ey-core/models/load_balancer_node.rb +17 -17
  207. data/lib/ey-core/models/load_balancer_service.rb +22 -22
  208. data/lib/ey-core/models/log.rb +44 -44
  209. data/lib/ey-core/models/logical_database.rb +40 -40
  210. data/lib/ey-core/models/membership.rb +49 -49
  211. data/lib/ey-core/models/message.rb +27 -27
  212. data/lib/ey-core/models/plan_usage.rb +14 -14
  213. data/lib/ey-core/models/provider.rb +59 -59
  214. data/lib/ey-core/models/provider_location.rb +24 -24
  215. data/lib/ey-core/models/request.rb +109 -105
  216. data/lib/ey-core/models/server.rb +151 -151
  217. data/lib/ey-core/models/server_event.rb +11 -11
  218. data/lib/ey-core/models/server_usage.rb +15 -15
  219. data/lib/ey-core/models/service.rb +10 -10
  220. data/lib/ey-core/models/simple_auto_scaling_policy.rb +24 -0
  221. data/lib/ey-core/models/ssl_certificate.rb +44 -44
  222. data/lib/ey-core/models/step_auto_scaling_policy.rb +24 -0
  223. data/lib/ey-core/models/storage.rb +38 -38
  224. data/lib/ey-core/models/storage_user.rb +44 -44
  225. data/lib/ey-core/models/support_trial.rb +10 -10
  226. data/lib/ey-core/models/target_auto_scaling_policy.rb +24 -0
  227. data/lib/ey-core/models/task.rb +35 -35
  228. data/lib/ey-core/models/token.rb +24 -24
  229. data/lib/ey-core/models/untracked_address.rb +24 -24
  230. data/lib/ey-core/models/untracked_server.rb +45 -45
  231. data/lib/ey-core/models/user.rb +39 -39
  232. data/lib/ey-core/models/volume.rb +20 -20
  233. data/lib/ey-core/request.rb +21 -21
  234. data/lib/ey-core/request_failure.rb +11 -11
  235. data/lib/ey-core/requests/acknowledge_alert.rb +29 -29
  236. data/lib/ey-core/requests/apply_environment_updates.rb +54 -54
  237. data/lib/ey-core/requests/apply_server_updates.rb +52 -52
  238. data/lib/ey-core/requests/attach_address.rb +53 -53
  239. data/lib/ey-core/requests/authorized_channel.rb +22 -22
  240. data/lib/ey-core/requests/blueprint_environment.rb +72 -72
  241. data/lib/ey-core/requests/boot_environment.rb +187 -187
  242. data/lib/ey-core/requests/bootstrap_logical_database.rb +80 -80
  243. data/lib/ey-core/requests/cancel_account.rb +33 -33
  244. data/lib/ey-core/requests/change_environment_maintenance.rb +38 -38
  245. data/lib/ey-core/requests/create_account.rb +38 -33
  246. data/lib/ey-core/requests/create_addon.rb +35 -35
  247. data/lib/ey-core/requests/create_address.rb +54 -53
  248. data/lib/ey-core/requests/create_alert.rb +63 -63
  249. data/lib/ey-core/requests/create_application.rb +73 -72
  250. data/lib/ey-core/requests/create_application_archive.rb +44 -44
  251. data/lib/ey-core/requests/create_auto_scaling_alarm.rb +69 -0
  252. data/lib/ey-core/requests/create_auto_scaling_group.rb +62 -62
  253. data/lib/ey-core/requests/create_auto_scaling_policy.rb +68 -0
  254. data/lib/ey-core/requests/create_backup_file.rb +52 -52
  255. data/lib/ey-core/requests/create_database_server.rb +72 -72
  256. data/lib/ey-core/requests/create_database_service.rb +57 -57
  257. data/lib/ey-core/requests/create_database_service_snapshot.rb +69 -69
  258. data/lib/ey-core/requests/create_environment.rb +77 -76
  259. data/lib/ey-core/requests/create_environment_variable.rb +39 -0
  260. data/lib/ey-core/requests/create_firewall.rb +62 -62
  261. data/lib/ey-core/requests/create_firewall_rule.rb +60 -60
  262. data/lib/ey-core/requests/create_keypair.rb +42 -42
  263. data/lib/ey-core/requests/create_keypair_deployment.rb +36 -36
  264. data/lib/ey-core/requests/create_load_balancer.rb +62 -62
  265. data/lib/ey-core/requests/create_log.rb +53 -53
  266. data/lib/ey-core/requests/create_logical_database.rb +56 -56
  267. data/lib/ey-core/requests/create_membership.rb +47 -47
  268. data/lib/ey-core/requests/create_message.rb +35 -35
  269. data/lib/ey-core/requests/create_password_reset.rb +38 -38
  270. data/lib/ey-core/requests/create_provider.rb +90 -90
  271. data/lib/ey-core/requests/create_server.rb +121 -121
  272. data/lib/ey-core/requests/create_ssl_certificate.rb +83 -83
  273. data/lib/ey-core/requests/create_storage.rb +64 -64
  274. data/lib/ey-core/requests/create_storage_user.rb +64 -64
  275. data/lib/ey-core/requests/create_task.rb +55 -55
  276. data/lib/ey-core/requests/create_token.rb +24 -24
  277. data/lib/ey-core/requests/create_untracked_address.rb +50 -50
  278. data/lib/ey-core/requests/create_untracked_server.rb +39 -39
  279. data/lib/ey-core/requests/create_user.rb +54 -52
  280. data/lib/ey-core/requests/deploy_environment_application.rb +60 -60
  281. data/lib/ey-core/requests/deprovision_environment.rb +17 -17
  282. data/lib/ey-core/requests/destroy_addon.rb +24 -24
  283. data/lib/ey-core/requests/destroy_auto_scaling_alarm.rb +49 -0
  284. data/lib/ey-core/requests/destroy_auto_scaling_group.rb +44 -44
  285. data/lib/ey-core/requests/destroy_auto_scaling_policy.rb +49 -0
  286. data/lib/ey-core/requests/destroy_blueprint.rb +22 -22
  287. data/lib/ey-core/requests/destroy_database_server.rb +41 -41
  288. data/lib/ey-core/requests/destroy_database_server_snapshot.rb +42 -42
  289. data/lib/ey-core/requests/destroy_database_service.rb +57 -57
  290. data/lib/ey-core/requests/destroy_environment.rb +43 -43
  291. data/lib/ey-core/requests/destroy_firewall.rb +41 -41
  292. data/lib/ey-core/requests/destroy_firewall_rule.rb +41 -41
  293. data/lib/ey-core/requests/destroy_load_balancer.rb +30 -30
  294. data/lib/ey-core/requests/destroy_logical_database.rb +41 -41
  295. data/lib/ey-core/requests/destroy_provider.rb +34 -34
  296. data/lib/ey-core/requests/destroy_server.rb +48 -48
  297. data/lib/ey-core/requests/destroy_ssl_certificate.rb +28 -28
  298. data/lib/ey-core/requests/destroy_storage.rb +33 -33
  299. data/lib/ey-core/requests/destroy_storage_user.rb +38 -38
  300. data/lib/ey-core/requests/destroy_user.rb +29 -29
  301. data/lib/ey-core/requests/detach_address.rb +48 -48
  302. data/lib/ey-core/requests/disable_feature.rb +30 -30
  303. data/lib/ey-core/requests/discover_container_service_deployments.rb +71 -0
  304. data/lib/ey-core/requests/discover_database_server.rb +66 -66
  305. data/lib/ey-core/requests/discover_database_server_snapshots.rb +69 -69
  306. data/lib/ey-core/requests/discover_provider_location.rb +57 -57
  307. data/lib/ey-core/requests/discover_server.rb +60 -60
  308. data/lib/ey-core/requests/download_file.rb +25 -25
  309. data/lib/ey-core/requests/enable_feature.rb +35 -35
  310. data/lib/ey-core/requests/get_account.rb +29 -29
  311. data/lib/ey-core/requests/get_account_cancellation.rb +21 -21
  312. data/lib/ey-core/requests/get_account_referrals.rb +28 -28
  313. data/lib/ey-core/requests/get_account_trial.rb +32 -32
  314. data/lib/ey-core/requests/get_accounts.rb +42 -42
  315. data/lib/ey-core/requests/get_addon.rb +25 -25
  316. data/lib/ey-core/requests/get_addons.rb +24 -24
  317. data/lib/ey-core/requests/get_address.rb +25 -25
  318. data/lib/ey-core/requests/get_addresses.rb +27 -27
  319. data/lib/ey-core/requests/get_alert.rb +21 -21
  320. data/lib/ey-core/requests/get_alerting_environments.rb +41 -41
  321. data/lib/ey-core/requests/get_alerts.rb +44 -44
  322. data/lib/ey-core/requests/get_api_token.rb +19 -19
  323. data/lib/ey-core/requests/get_application.rb +21 -21
  324. data/lib/ey-core/requests/get_application_archive.rb +32 -32
  325. data/lib/ey-core/requests/get_application_archives.rb +29 -29
  326. data/lib/ey-core/requests/get_application_deployment.rb +21 -21
  327. data/lib/ey-core/requests/get_application_deployments.rb +28 -28
  328. data/lib/ey-core/requests/get_applications.rb +28 -28
  329. data/lib/ey-core/requests/get_auto_scaling_alarm.rb +27 -0
  330. data/lib/ey-core/requests/get_auto_scaling_alarms.rb +34 -0
  331. data/lib/ey-core/requests/get_auto_scaling_group.rb +21 -21
  332. data/lib/ey-core/requests/get_auto_scaling_groups.rb +29 -29
  333. data/lib/ey-core/requests/get_auto_scaling_policies.rb +46 -0
  334. data/lib/ey-core/requests/get_auto_scaling_policy.rb +27 -0
  335. data/lib/ey-core/requests/get_backup_file.rb +21 -21
  336. data/lib/ey-core/requests/get_backup_files.rb +28 -28
  337. data/lib/ey-core/requests/get_billing.rb +24 -24
  338. data/lib/ey-core/requests/get_blueprint.rb +21 -21
  339. data/lib/ey-core/requests/get_blueprints.rb +29 -29
  340. data/lib/ey-core/requests/get_component.rb +21 -21
  341. data/lib/ey-core/requests/get_components.rb +29 -29
  342. data/lib/ey-core/requests/get_contacts.rb +34 -34
  343. data/lib/ey-core/requests/get_costs.rb +25 -25
  344. data/lib/ey-core/requests/get_current_user.rb +19 -19
  345. data/lib/ey-core/requests/get_database_plan_usages.rb +24 -24
  346. data/lib/ey-core/requests/get_database_server.rb +21 -21
  347. data/lib/ey-core/requests/get_database_server_revisions.rb +27 -27
  348. data/lib/ey-core/requests/get_database_server_snapshot.rb +20 -20
  349. data/lib/ey-core/requests/get_database_server_snapshots.rb +39 -39
  350. data/lib/ey-core/requests/get_database_server_usages.rb +24 -24
  351. data/lib/ey-core/requests/get_database_servers.rb +30 -30
  352. data/lib/ey-core/requests/get_database_servers_firewalls.rb +30 -30
  353. data/lib/ey-core/requests/get_database_service.rb +20 -20
  354. data/lib/ey-core/requests/get_database_services.rb +55 -55
  355. data/lib/ey-core/requests/get_deployment.rb +19 -19
  356. data/lib/ey-core/requests/get_deployments.rb +29 -29
  357. data/lib/ey-core/requests/get_environment.rb +21 -21
  358. data/lib/ey-core/requests/get_environment_database_services.rb +21 -21
  359. data/lib/ey-core/requests/get_environment_logical_databases.rb +20 -20
  360. data/lib/ey-core/requests/get_environment_plan_usages.rb +24 -24
  361. data/lib/ey-core/requests/get_environment_variable.rb +19 -0
  362. data/lib/ey-core/requests/get_environment_variables.rb +29 -0
  363. data/lib/ey-core/requests/get_environments.rb +29 -29
  364. data/lib/ey-core/requests/get_feature.rb +21 -21
  365. data/lib/ey-core/requests/get_features.rb +28 -28
  366. data/lib/ey-core/requests/get_firewall.rb +21 -21
  367. data/lib/ey-core/requests/get_firewall_rule.rb +21 -21
  368. data/lib/ey-core/requests/get_firewall_rules.rb +29 -29
  369. data/lib/ey-core/requests/get_firewalls.rb +45 -45
  370. data/lib/ey-core/requests/get_gem.rb +24 -24
  371. data/lib/ey-core/requests/get_keypair.rb +21 -21
  372. data/lib/ey-core/requests/get_keypair_deployment.rb +21 -21
  373. data/lib/ey-core/requests/get_keypair_deployments.rb +29 -29
  374. data/lib/ey-core/requests/get_keypairs.rb +34 -34
  375. data/lib/ey-core/requests/get_legacy_alert.rb +21 -21
  376. data/lib/ey-core/requests/get_legacy_alerts.rb +29 -29
  377. data/lib/ey-core/requests/get_load_balancer.rb +21 -21
  378. data/lib/ey-core/requests/get_load_balancer_node.rb +21 -21
  379. data/lib/ey-core/requests/get_load_balancer_nodes.rb +30 -30
  380. data/lib/ey-core/requests/get_load_balancer_service.rb +21 -21
  381. data/lib/ey-core/requests/get_load_balancer_services.rb +30 -30
  382. data/lib/ey-core/requests/get_load_balancers.rb +29 -29
  383. data/lib/ey-core/requests/get_log.rb +21 -21
  384. data/lib/ey-core/requests/get_logical_database.rb +23 -23
  385. data/lib/ey-core/requests/get_logical_databases.rb +36 -36
  386. data/lib/ey-core/requests/get_logs.rb +37 -37
  387. data/lib/ey-core/requests/get_membership.rb +21 -21
  388. data/lib/ey-core/requests/get_memberships.rb +29 -29
  389. data/lib/ey-core/requests/get_message.rb +28 -28
  390. data/lib/ey-core/requests/get_messages.rb +27 -27
  391. data/lib/ey-core/requests/get_metadata.rb +22 -22
  392. data/lib/ey-core/requests/get_operational_contact.rb +21 -21
  393. data/lib/ey-core/requests/get_operational_contacts.rb +20 -20
  394. data/lib/ey-core/requests/get_plan_usages.rb +24 -24
  395. data/lib/ey-core/requests/get_possible_provider_locations.rb +19 -19
  396. data/lib/ey-core/requests/get_provider.rb +21 -21
  397. data/lib/ey-core/requests/get_provider_location.rb +29 -29
  398. data/lib/ey-core/requests/get_provider_locations.rb +28 -28
  399. data/lib/ey-core/requests/get_providers.rb +28 -28
  400. data/lib/ey-core/requests/get_request.rb +71 -71
  401. data/lib/ey-core/requests/get_requests.rb +29 -29
  402. data/lib/ey-core/requests/get_server.rb +34 -34
  403. data/lib/ey-core/requests/get_server_event.rb +20 -20
  404. data/lib/ey-core/requests/get_server_events.rb +28 -28
  405. data/lib/ey-core/requests/get_server_usages.rb +24 -24
  406. data/lib/ey-core/requests/get_servers.rb +25 -25
  407. data/lib/ey-core/requests/get_ssl_certificate.rb +23 -23
  408. data/lib/ey-core/requests/get_ssl_certificates.rb +28 -28
  409. data/lib/ey-core/requests/get_storage.rb +21 -21
  410. data/lib/ey-core/requests/get_storage_user.rb +21 -21
  411. data/lib/ey-core/requests/get_storage_users.rb +28 -28
  412. data/lib/ey-core/requests/get_storages.rb +28 -28
  413. data/lib/ey-core/requests/get_support_trial.rb +51 -51
  414. data/lib/ey-core/requests/get_task.rb +21 -21
  415. data/lib/ey-core/requests/get_tasks.rb +28 -28
  416. data/lib/ey-core/requests/get_token.rb +21 -21
  417. data/lib/ey-core/requests/get_token_by_login.rb +30 -30
  418. data/lib/ey-core/requests/get_tokens.rb +32 -32
  419. data/lib/ey-core/requests/get_untracked_server.rb +18 -18
  420. data/lib/ey-core/requests/get_untracked_servers.rb +24 -24
  421. data/lib/ey-core/requests/get_user.rb +21 -21
  422. data/lib/ey-core/requests/get_users.rb +42 -42
  423. data/lib/ey-core/requests/get_volume.rb +21 -21
  424. data/lib/ey-core/requests/get_volumes.rb +28 -28
  425. data/lib/ey-core/requests/reboot_server.rb +39 -39
  426. data/lib/ey-core/requests/reconcile_server.rb +39 -39
  427. data/lib/ey-core/requests/request_callback.rb +26 -26
  428. data/lib/ey-core/requests/reset_password.rb +31 -31
  429. data/lib/ey-core/requests/reset_server_state.rb +32 -32
  430. data/lib/ey-core/requests/restart_environment_app_servers.rb +38 -38
  431. data/lib/ey-core/requests/run_cluster_application_action.rb +28 -28
  432. data/lib/ey-core/requests/run_environment_application_action.rb +29 -29
  433. data/lib/ey-core/requests/signup.rb +56 -56
  434. data/lib/ey-core/requests/start_server.rb +39 -39
  435. data/lib/ey-core/requests/stop_server.rb +39 -39
  436. data/lib/ey-core/requests/timeout_deployment.rb +27 -27
  437. data/lib/ey-core/requests/unassign_environment.rb +31 -31
  438. data/lib/ey-core/requests/update_addon.rb +28 -28
  439. data/lib/ey-core/requests/update_address.rb +29 -29
  440. data/lib/ey-core/requests/update_alert.rb +32 -32
  441. data/lib/ey-core/requests/update_application_archive.rb +23 -23
  442. data/lib/ey-core/requests/update_auto_scaling_alarm.rb +45 -0
  443. data/lib/ey-core/requests/update_auto_scaling_group.rb +45 -45
  444. data/lib/ey-core/requests/update_auto_scaling_policy.rb +46 -0
  445. data/lib/ey-core/requests/update_billing.rb +26 -26
  446. data/lib/ey-core/requests/update_blueprint.rb +29 -29
  447. data/lib/ey-core/requests/update_connector.rb +32 -32
  448. data/lib/ey-core/requests/update_environment.rb +17 -17
  449. data/lib/ey-core/requests/update_environment_variable.rb +25 -0
  450. data/lib/ey-core/requests/update_membership.rb +29 -29
  451. data/lib/ey-core/requests/update_provider_location.rb +29 -29
  452. data/lib/ey-core/requests/update_server.rb +29 -29
  453. data/lib/ey-core/requests/update_ssl_certificate.rb +25 -25
  454. data/lib/ey-core/requests/update_untracked_server.rb +24 -24
  455. data/lib/ey-core/requests/upload_file.rb +44 -44
  456. data/lib/ey-core/requests/upload_recipes_for_environment.rb +28 -28
  457. data/lib/ey-core/response.rb +59 -59
  458. data/lib/ey-core/response_cache.rb +29 -29
  459. data/lib/ey-core/subscribable.rb +60 -60
  460. data/lib/ey-core/test_helpers/account_helpers.rb +73 -73
  461. data/lib/ey-core/test_helpers/alert_helpers.rb +16 -16
  462. data/lib/ey-core/test_helpers/auto_scaling_helpers.rb +35 -0
  463. data/lib/ey-core/test_helpers/client_helpers.rb +40 -40
  464. data/lib/ey-core/test_helpers/cucumber.rb +3 -3
  465. data/lib/ey-core/test_helpers/resource_helpers.rb +196 -196
  466. data/lib/ey-core/test_helpers/rspec.rb +5 -5
  467. data/lib/ey-core/test_helpers.rb +17 -15
  468. data/lib/ey-core/token_authentication.rb +13 -13
  469. data/lib/ey-core/version.rb +5 -5
  470. data/lib/ey-core.rb +59 -59
  471. data/spec/account_spec.rb +65 -65
  472. data/spec/account_trial_spec.rb +17 -17
  473. data/spec/accounts_referrals_spec.rb +20 -20
  474. data/spec/accounts_spec.rb +113 -113
  475. data/spec/addons_and_vars_spec.rb +62 -62
  476. data/spec/addresses_spec.rb +57 -56
  477. data/spec/alerts_spec.rb +155 -155
  478. data/spec/application_archives_spec.rb +39 -39
  479. data/spec/applications_spec.rb +65 -65
  480. data/spec/auto_scaling_alarms_spec.rb +40 -0
  481. data/spec/auto_scaling_groups_spec.rb +28 -28
  482. data/spec/auto_scaling_policies_spec.rb +94 -0
  483. data/spec/billing_spec.rb +31 -31
  484. data/spec/blueprints_spec.rb +47 -47
  485. data/spec/client_spec.rb +16 -16
  486. data/spec/collection_spec.rb +43 -43
  487. data/spec/costs_spec.rb +22 -22
  488. data/spec/database_plan_usage_spec.rb +39 -39
  489. data/spec/database_server_snapshots_spec.rb +41 -41
  490. data/spec/database_server_usage_spec.rb +49 -49
  491. data/spec/database_servers_spec.rb +61 -61
  492. data/spec/database_services_spec.rb +76 -76
  493. data/spec/deployments_spec.rb +24 -24
  494. data/spec/environment_plan_usage_spec.rb +38 -38
  495. data/spec/environments_spec.rb +212 -212
  496. data/spec/ey-core/cli/accounts_spec.rb +20 -20
  497. data/spec/ey-core/cli/helpers/server_sieve_spec.rb +226 -226
  498. data/spec/ey-core/cli/recipes/apply_spec.rb +34 -34
  499. data/spec/ey-core/cli/recipes/download_spec.rb +93 -93
  500. data/spec/ey-core/cli/recipes/upload_spec.rb +80 -80
  501. data/spec/features_spec.rb +79 -79
  502. data/spec/firewalls_spec.rb +84 -84
  503. data/spec/gems_spec.rb +11 -11
  504. data/spec/keypair_deployments_spec.rb +33 -33
  505. data/spec/keypairs_spec.rb +51 -51
  506. data/spec/legacy_alerts_spec.rb +44 -44
  507. data/spec/load_balancers_spec.rb +31 -31
  508. data/spec/logical_databases_spec.rb +38 -38
  509. data/spec/logs_spec.rb +44 -44
  510. data/spec/memberships_spec.rb +73 -73
  511. data/spec/messages_spec.rb +27 -27
  512. data/spec/metadata_spec.rb +11 -11
  513. data/spec/plan_usage_spec.rb +65 -65
  514. data/spec/provider_locations_spec.rb +85 -85
  515. data/spec/providers_spec.rb +105 -105
  516. data/spec/requests/upload_file_spec.rb +25 -25
  517. data/spec/requests_spec.rb +23 -23
  518. data/spec/reset_password_spec.rb +22 -22
  519. data/spec/server_events_spec.rb +31 -31
  520. data/spec/server_usage_spec.rb +70 -70
  521. data/spec/servers_spec.rb +202 -202
  522. data/spec/services_spec.rb +9 -9
  523. data/spec/signups_spec.rb +45 -45
  524. data/spec/spec_helper.rb +27 -20
  525. data/spec/ssl_certificates_spec.rb +94 -94
  526. data/spec/storages_spec.rb +57 -57
  527. data/spec/support/cli_helpers.rb +47 -47
  528. data/spec/support/core.rb +23 -23
  529. data/spec/support/coverage.rb +43 -43
  530. data/spec/support/fake_kernel.rb +21 -21
  531. data/spec/support/helpers.rb +1 -1
  532. data/spec/support/timecop.rb +8 -8
  533. data/spec/support_trial_spec.rb +33 -33
  534. data/spec/tokens_spec.rb +59 -59
  535. data/spec/untracked_servers_spec.rb +59 -59
  536. data/spec/users_spec.rb +108 -108
  537. metadata +46 -8
  538. data/bin/console +0 -4
data/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