ey-core 3.6.4 → 3.6.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (542) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +23 -23
  3. data/.ruby-gemset +1 -1
  4. data/.ruby-version +1 -1
  5. data/.travis.yml +23 -23
  6. data/CHANGELOG.md +189 -189
  7. data/Gemfile +26 -20
  8. data/Guardfile +15 -15
  9. data/LICENSE.txt +19 -19
  10. data/README.md +135 -135
  11. data/Rakefile +18 -18
  12. data/bin/ey-core +4 -4
  13. data/docs/development.md +6 -0
  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 +52 -52
  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/docker_registry_credentials.feature +21 -21
  25. data/features/environment_variables.feature +54 -54
  26. data/features/environments.feature +30 -30
  27. data/features/init.feature +6 -6
  28. data/features/login.feature +6 -6
  29. data/features/scp.feature +6 -6
  30. data/features/step_definitions/accounts_steps.rb +37 -37
  31. data/features/step_definitions/applications_steps.rb +39 -39
  32. data/features/step_definitions/current_user_steps.rb +11 -11
  33. data/features/step_definitions/deprecated_command_steps.rb +3 -3
  34. data/features/step_definitions/docker_registry_credentials_steps.rb +3 -3
  35. data/features/step_definitions/environment_variables_steps.rb +51 -51
  36. data/features/step_definitions/environments_steps.rb +52 -52
  37. data/features/step_definitions/version_steps.rb +3 -3
  38. data/features/support/account_helpers.rb +89 -89
  39. data/features/support/app_helpers.rb +19 -19
  40. data/features/support/aruba.rb +1 -1
  41. data/features/support/boilerplate.rb +1 -1
  42. data/features/support/client_helpers.rb +36 -36
  43. data/features/support/config_file_helpers.rb +42 -42
  44. data/features/support/core.rb +19 -19
  45. data/features/support/deployment_helpers.rb +19 -19
  46. data/features/support/env.rb +40 -40
  47. data/features/support/environment_helpers.rb +23 -23
  48. data/features/support/environment_variable_helpers.rb +20 -20
  49. data/features/support/fake_kernel.rb +23 -23
  50. data/features/support/io.rb +5 -5
  51. data/features/support/mock_api.rb +20 -20
  52. data/features/support/output_helpers.rb +7 -7
  53. data/features/support/resource_helpers.rb +201 -201
  54. data/features/support/server_helpers.rb +27 -27
  55. data/features/version.feature +8 -8
  56. data/features/whoami.feature +14 -14
  57. data/lib/ey-core/associations.rb +155 -155
  58. data/lib/ey-core/cli/accounts.rb +17 -17
  59. data/lib/ey-core/cli/applications.rb +36 -36
  60. data/lib/ey-core/cli/console.rb +28 -28
  61. data/lib/ey-core/cli/current_user.rb +16 -16
  62. data/lib/ey-core/cli/deploy.rb +126 -126
  63. data/lib/ey-core/cli/docker_registry_login.rb +29 -29
  64. data/lib/ey-core/cli/environment_variables.rb +71 -71
  65. data/lib/ey-core/cli/environments.rb +39 -39
  66. data/lib/ey-core/cli/errors.rb +11 -11
  67. data/lib/ey-core/cli/help.rb +30 -30
  68. data/lib/ey-core/cli/helpers/archive.rb +70 -70
  69. data/lib/ey-core/cli/helpers/chef.rb +51 -51
  70. data/lib/ey-core/cli/helpers/core.rb +225 -225
  71. data/lib/ey-core/cli/helpers/deprecated.rb +39 -39
  72. data/lib/ey-core/cli/helpers/log_streaming.rb +41 -41
  73. data/lib/ey-core/cli/helpers/server_sieve.rb +83 -83
  74. data/lib/ey-core/cli/helpers/stream_printer.rb +42 -42
  75. data/lib/ey-core/cli/init.rb +14 -14
  76. data/lib/ey-core/cli/login.rb +38 -38
  77. data/lib/ey-core/cli/logout.rb +22 -22
  78. data/lib/ey-core/cli/logs.rb +70 -70
  79. data/lib/ey-core/cli/main.rb +66 -66
  80. data/lib/ey-core/cli/recipes/apply.rb +65 -65
  81. data/lib/ey-core/cli/recipes/download.rb +52 -52
  82. data/lib/ey-core/cli/recipes/main.rb +21 -21
  83. data/lib/ey-core/cli/recipes/upload.rb +78 -78
  84. data/lib/ey-core/cli/recipes.rb +10 -10
  85. data/lib/ey-core/cli/scp.rb +14 -14
  86. data/lib/ey-core/cli/servers.rb +59 -59
  87. data/lib/ey-core/cli/ssh.rb +156 -156
  88. data/lib/ey-core/cli/status.rb +60 -60
  89. data/lib/ey-core/cli/subcommand.rb +53 -53
  90. data/lib/ey-core/cli/timeout_deploy.rb +58 -58
  91. data/lib/ey-core/cli/version.rb +16 -16
  92. data/lib/ey-core/cli/web/disable.rb +49 -49
  93. data/lib/ey-core/cli/web/enable.rb +46 -46
  94. data/lib/ey-core/cli/web/main.rb +21 -21
  95. data/lib/ey-core/cli/web/restart.rb +42 -42
  96. data/lib/ey-core/cli/web.rb +10 -10
  97. data/lib/ey-core/cli/whoami.rb +12 -12
  98. data/lib/ey-core/cli.rb +8 -8
  99. data/lib/ey-core/client/mock.rb +306 -306
  100. data/lib/ey-core/client/real.rb +93 -93
  101. data/lib/ey-core/client.rb +469 -469
  102. data/lib/ey-core/collection.rb +131 -131
  103. data/lib/ey-core/collections/account_cancellations.rb +6 -6
  104. data/lib/ey-core/collections/account_referrals.rb +10 -10
  105. data/lib/ey-core/collections/accounts.rb +8 -8
  106. data/lib/ey-core/collections/addons.rb +16 -16
  107. data/lib/ey-core/collections/addresses.rb +9 -9
  108. data/lib/ey-core/collections/alerts.rb +9 -9
  109. data/lib/ey-core/collections/application_archives.rb +9 -9
  110. data/lib/ey-core/collections/application_deployments.rb +9 -9
  111. data/lib/ey-core/collections/applications.rb +9 -9
  112. data/lib/ey-core/collections/auto_scaling_alarms.rb +8 -8
  113. data/lib/ey-core/collections/auto_scaling_groups.rb +8 -8
  114. data/lib/ey-core/collections/auto_scaling_policies.rb +33 -33
  115. data/lib/ey-core/collections/backup_files.rb +9 -9
  116. data/lib/ey-core/collections/blueprints.rb +9 -9
  117. data/lib/ey-core/collections/components.rb +9 -9
  118. data/lib/ey-core/collections/contacts.rb +9 -9
  119. data/lib/ey-core/collections/container_clusters.rb +9 -9
  120. data/lib/ey-core/collections/container_service_deployments.rb +17 -17
  121. data/lib/ey-core/collections/costs.rb +8 -8
  122. data/lib/ey-core/collections/database_plan_usages.rb +7 -7
  123. data/lib/ey-core/collections/database_server_revisions.rb +7 -7
  124. data/lib/ey-core/collections/database_server_snapshots.rb +17 -17
  125. data/lib/ey-core/collections/database_server_usages.rb +7 -7
  126. data/lib/ey-core/collections/database_servers.rb +9 -9
  127. data/lib/ey-core/collections/database_services.rb +9 -9
  128. data/lib/ey-core/collections/deployments.rb +8 -8
  129. data/lib/ey-core/collections/environment_plan_usages.rb +7 -7
  130. data/lib/ey-core/collections/environment_variables.rb +8 -8
  131. data/lib/ey-core/collections/environments.rb +15 -15
  132. data/lib/ey-core/collections/features.rb +9 -9
  133. data/lib/ey-core/collections/firewall_rules.rb +9 -9
  134. data/lib/ey-core/collections/firewalls.rb +9 -9
  135. data/lib/ey-core/collections/gems.rb +6 -6
  136. data/lib/ey-core/collections/keypair_deployments.rb +9 -9
  137. data/lib/ey-core/collections/keypairs.rb +9 -9
  138. data/lib/ey-core/collections/legacy_alerts.rb +9 -9
  139. data/lib/ey-core/collections/load_balancer_nodes.rb +9 -9
  140. data/lib/ey-core/collections/load_balancer_services.rb +9 -9
  141. data/lib/ey-core/collections/load_balancers.rb +16 -16
  142. data/lib/ey-core/collections/logical_databases.rb +16 -16
  143. data/lib/ey-core/collections/logs.rb +9 -9
  144. data/lib/ey-core/collections/memberships.rb +9 -9
  145. data/lib/ey-core/collections/messages.rb +9 -9
  146. data/lib/ey-core/collections/plan_usages.rb +7 -7
  147. data/lib/ey-core/collections/provider_locations.rb +13 -13
  148. data/lib/ey-core/collections/providers.rb +15 -15
  149. data/lib/ey-core/collections/requests.rb +10 -10
  150. data/lib/ey-core/collections/server_events.rb +9 -9
  151. data/lib/ey-core/collections/server_usages.rb +7 -7
  152. data/lib/ey-core/collections/servers.rb +13 -13
  153. data/lib/ey-core/collections/services.rb +14 -14
  154. data/lib/ey-core/collections/ssl_certificates.rb +9 -9
  155. data/lib/ey-core/collections/storage_users.rb +10 -10
  156. data/lib/ey-core/collections/storages.rb +9 -9
  157. data/lib/ey-core/collections/tasks.rb +9 -9
  158. data/lib/ey-core/collections/tokens.rb +9 -9
  159. data/lib/ey-core/collections/untracked_addresses.rb +4 -4
  160. data/lib/ey-core/collections/untracked_servers.rb +9 -9
  161. data/lib/ey-core/collections/users.rb +12 -12
  162. data/lib/ey-core/collections/volumes.rb +9 -9
  163. data/lib/ey-core/logger.rb +31 -31
  164. data/lib/ey-core/memory_cache.rb +17 -17
  165. data/lib/ey-core/mock/helper.rb +104 -104
  166. data/lib/ey-core/mock/params.rb +31 -31
  167. data/lib/ey-core/mock/resources.rb +92 -92
  168. data/lib/ey-core/mock/searching.rb +115 -115
  169. data/lib/ey-core/mock/util.rb +23 -23
  170. data/lib/ey-core/model.rb +44 -44
  171. data/lib/ey-core/models/account.rb +80 -80
  172. data/lib/ey-core/models/account_cancellation.rb +6 -6
  173. data/lib/ey-core/models/account_referral.rb +8 -8
  174. data/lib/ey-core/models/account_trial.rb +15 -15
  175. data/lib/ey-core/models/addon.rb +37 -37
  176. data/lib/ey-core/models/address.rb +59 -59
  177. data/lib/ey-core/models/alert.rb +99 -99
  178. data/lib/ey-core/models/application.rb +33 -33
  179. data/lib/ey-core/models/application_archive.rb +67 -67
  180. data/lib/ey-core/models/application_deployment.rb +18 -18
  181. data/lib/ey-core/models/auto_scaling_alarm.rb +54 -54
  182. data/lib/ey-core/models/auto_scaling_group.rb +75 -75
  183. data/lib/ey-core/models/backup_file.rb +52 -52
  184. data/lib/ey-core/models/base_auto_scaling_policy.rb +61 -61
  185. data/lib/ey-core/models/billing.rb +27 -27
  186. data/lib/ey-core/models/blueprint.rb +30 -30
  187. data/lib/ey-core/models/component.rb +11 -11
  188. data/lib/ey-core/models/contact.rb +14 -14
  189. data/lib/ey-core/models/container_service_deployment.rb +17 -17
  190. data/lib/ey-core/models/cost.rb +16 -16
  191. data/lib/ey-core/models/database_plan_usage.rb +10 -10
  192. data/lib/ey-core/models/database_server.rb +56 -56
  193. data/lib/ey-core/models/database_server_revision.rb +10 -10
  194. data/lib/ey-core/models/database_server_snapshot.rb +43 -43
  195. data/lib/ey-core/models/database_server_usage.rb +15 -15
  196. data/lib/ey-core/models/database_service.rb +52 -52
  197. data/lib/ey-core/models/deployment.rb +31 -31
  198. data/lib/ey-core/models/environment.rb +248 -248
  199. data/lib/ey-core/models/environment_plan_usage.rb +10 -10
  200. data/lib/ey-core/models/environment_variable.rb +29 -29
  201. data/lib/ey-core/models/feature.rb +33 -33
  202. data/lib/ey-core/models/firewall.rb +46 -46
  203. data/lib/ey-core/models/firewall_rule.rb +41 -41
  204. data/lib/ey-core/models/gem.rb +5 -5
  205. data/lib/ey-core/models/keypair.rb +38 -38
  206. data/lib/ey-core/models/keypair_deployment.rb +26 -26
  207. data/lib/ey-core/models/legacy_alert.rb +12 -12
  208. data/lib/ey-core/models/load_balancer.rb +43 -43
  209. data/lib/ey-core/models/load_balancer_node.rb +17 -17
  210. data/lib/ey-core/models/load_balancer_service.rb +22 -22
  211. data/lib/ey-core/models/log.rb +44 -44
  212. data/lib/ey-core/models/logical_database.rb +40 -40
  213. data/lib/ey-core/models/membership.rb +49 -49
  214. data/lib/ey-core/models/message.rb +27 -27
  215. data/lib/ey-core/models/plan_usage.rb +14 -14
  216. data/lib/ey-core/models/provider.rb +59 -59
  217. data/lib/ey-core/models/provider_location.rb +24 -24
  218. data/lib/ey-core/models/request.rb +109 -109
  219. data/lib/ey-core/models/server.rb +151 -151
  220. data/lib/ey-core/models/server_event.rb +11 -11
  221. data/lib/ey-core/models/server_usage.rb +15 -15
  222. data/lib/ey-core/models/service.rb +10 -10
  223. data/lib/ey-core/models/simple_auto_scaling_policy.rb +24 -24
  224. data/lib/ey-core/models/ssl_certificate.rb +44 -44
  225. data/lib/ey-core/models/step_auto_scaling_policy.rb +24 -24
  226. data/lib/ey-core/models/storage.rb +38 -38
  227. data/lib/ey-core/models/storage_user.rb +44 -44
  228. data/lib/ey-core/models/support_trial.rb +10 -10
  229. data/lib/ey-core/models/target_auto_scaling_policy.rb +24 -24
  230. data/lib/ey-core/models/task.rb +35 -35
  231. data/lib/ey-core/models/token.rb +24 -24
  232. data/lib/ey-core/models/untracked_address.rb +24 -24
  233. data/lib/ey-core/models/untracked_server.rb +45 -45
  234. data/lib/ey-core/models/user.rb +39 -39
  235. data/lib/ey-core/models/volume.rb +20 -20
  236. data/lib/ey-core/request.rb +21 -21
  237. data/lib/ey-core/request_failure.rb +11 -11
  238. data/lib/ey-core/requests/acknowledge_alert.rb +29 -29
  239. data/lib/ey-core/requests/apply_environment_updates.rb +54 -54
  240. data/lib/ey-core/requests/apply_server_updates.rb +52 -52
  241. data/lib/ey-core/requests/attach_address.rb +53 -53
  242. data/lib/ey-core/requests/authorized_channel.rb +22 -22
  243. data/lib/ey-core/requests/blueprint_environment.rb +72 -72
  244. data/lib/ey-core/requests/boot_environment.rb +187 -187
  245. data/lib/ey-core/requests/bootstrap_logical_database.rb +80 -80
  246. data/lib/ey-core/requests/cancel_account.rb +33 -33
  247. data/lib/ey-core/requests/change_environment_maintenance.rb +38 -38
  248. data/lib/ey-core/requests/create_account.rb +38 -38
  249. data/lib/ey-core/requests/create_addon.rb +35 -35
  250. data/lib/ey-core/requests/create_address.rb +54 -54
  251. data/lib/ey-core/requests/create_alert.rb +63 -63
  252. data/lib/ey-core/requests/create_application.rb +73 -73
  253. data/lib/ey-core/requests/create_application_archive.rb +44 -44
  254. data/lib/ey-core/requests/create_auto_scaling_alarm.rb +69 -69
  255. data/lib/ey-core/requests/create_auto_scaling_group.rb +62 -62
  256. data/lib/ey-core/requests/create_auto_scaling_policy.rb +68 -68
  257. data/lib/ey-core/requests/create_backup_file.rb +52 -52
  258. data/lib/ey-core/requests/create_database_server.rb +72 -72
  259. data/lib/ey-core/requests/create_database_service.rb +57 -57
  260. data/lib/ey-core/requests/create_database_service_snapshot.rb +69 -69
  261. data/lib/ey-core/requests/create_environment.rb +77 -77
  262. data/lib/ey-core/requests/create_environment_variable.rb +39 -39
  263. data/lib/ey-core/requests/create_firewall.rb +62 -62
  264. data/lib/ey-core/requests/create_firewall_rule.rb +60 -60
  265. data/lib/ey-core/requests/create_keypair.rb +42 -42
  266. data/lib/ey-core/requests/create_keypair_deployment.rb +36 -36
  267. data/lib/ey-core/requests/create_load_balancer.rb +62 -62
  268. data/lib/ey-core/requests/create_log.rb +53 -53
  269. data/lib/ey-core/requests/create_logical_database.rb +56 -56
  270. data/lib/ey-core/requests/create_membership.rb +47 -47
  271. data/lib/ey-core/requests/create_message.rb +35 -35
  272. data/lib/ey-core/requests/create_password_reset.rb +38 -38
  273. data/lib/ey-core/requests/create_provider.rb +90 -90
  274. data/lib/ey-core/requests/create_server.rb +121 -121
  275. data/lib/ey-core/requests/create_ssl_certificate.rb +83 -83
  276. data/lib/ey-core/requests/create_storage.rb +64 -64
  277. data/lib/ey-core/requests/create_storage_user.rb +64 -64
  278. data/lib/ey-core/requests/create_task.rb +55 -55
  279. data/lib/ey-core/requests/create_token.rb +24 -24
  280. data/lib/ey-core/requests/create_untracked_address.rb +50 -50
  281. data/lib/ey-core/requests/create_untracked_server.rb +39 -39
  282. data/lib/ey-core/requests/create_user.rb +54 -54
  283. data/lib/ey-core/requests/deploy_environment_application.rb +61 -61
  284. data/lib/ey-core/requests/deprovision_environment.rb +17 -17
  285. data/lib/ey-core/requests/destroy_addon.rb +24 -24
  286. data/lib/ey-core/requests/destroy_auto_scaling_alarm.rb +49 -49
  287. data/lib/ey-core/requests/destroy_auto_scaling_group.rb +44 -44
  288. data/lib/ey-core/requests/destroy_auto_scaling_policy.rb +49 -49
  289. data/lib/ey-core/requests/destroy_blueprint.rb +22 -22
  290. data/lib/ey-core/requests/destroy_database_server.rb +41 -41
  291. data/lib/ey-core/requests/destroy_database_server_snapshot.rb +42 -42
  292. data/lib/ey-core/requests/destroy_database_service.rb +57 -57
  293. data/lib/ey-core/requests/destroy_environment.rb +43 -43
  294. data/lib/ey-core/requests/destroy_firewall.rb +41 -41
  295. data/lib/ey-core/requests/destroy_firewall_rule.rb +41 -41
  296. data/lib/ey-core/requests/destroy_load_balancer.rb +30 -30
  297. data/lib/ey-core/requests/destroy_logical_database.rb +41 -41
  298. data/lib/ey-core/requests/destroy_provider.rb +34 -34
  299. data/lib/ey-core/requests/destroy_server.rb +48 -48
  300. data/lib/ey-core/requests/destroy_ssl_certificate.rb +28 -28
  301. data/lib/ey-core/requests/destroy_storage.rb +33 -33
  302. data/lib/ey-core/requests/destroy_storage_user.rb +38 -38
  303. data/lib/ey-core/requests/destroy_user.rb +29 -29
  304. data/lib/ey-core/requests/detach_address.rb +48 -48
  305. data/lib/ey-core/requests/disable_feature.rb +30 -30
  306. data/lib/ey-core/requests/discover_container_service_deployments.rb +71 -71
  307. data/lib/ey-core/requests/discover_database_server.rb +66 -66
  308. data/lib/ey-core/requests/discover_database_server_snapshots.rb +69 -69
  309. data/lib/ey-core/requests/discover_provider_location.rb +57 -57
  310. data/lib/ey-core/requests/discover_server.rb +60 -60
  311. data/lib/ey-core/requests/download_file.rb +25 -25
  312. data/lib/ey-core/requests/enable_feature.rb +35 -35
  313. data/lib/ey-core/requests/get_account.rb +29 -29
  314. data/lib/ey-core/requests/get_account_cancellation.rb +21 -21
  315. data/lib/ey-core/requests/get_account_referrals.rb +28 -28
  316. data/lib/ey-core/requests/get_account_trial.rb +32 -32
  317. data/lib/ey-core/requests/get_accounts.rb +42 -42
  318. data/lib/ey-core/requests/get_addon.rb +25 -25
  319. data/lib/ey-core/requests/get_addons.rb +24 -24
  320. data/lib/ey-core/requests/get_address.rb +25 -25
  321. data/lib/ey-core/requests/get_addresses.rb +27 -27
  322. data/lib/ey-core/requests/get_alert.rb +21 -21
  323. data/lib/ey-core/requests/get_alerting_environments.rb +41 -41
  324. data/lib/ey-core/requests/get_alerts.rb +44 -44
  325. data/lib/ey-core/requests/get_api_token.rb +19 -19
  326. data/lib/ey-core/requests/get_application.rb +21 -21
  327. data/lib/ey-core/requests/get_application_archive.rb +32 -32
  328. data/lib/ey-core/requests/get_application_archives.rb +29 -29
  329. data/lib/ey-core/requests/get_application_deployment.rb +21 -21
  330. data/lib/ey-core/requests/get_application_deployments.rb +28 -28
  331. data/lib/ey-core/requests/get_applications.rb +28 -28
  332. data/lib/ey-core/requests/get_auto_scaling_alarm.rb +27 -27
  333. data/lib/ey-core/requests/get_auto_scaling_alarms.rb +34 -34
  334. data/lib/ey-core/requests/get_auto_scaling_group.rb +21 -21
  335. data/lib/ey-core/requests/get_auto_scaling_groups.rb +29 -29
  336. data/lib/ey-core/requests/get_auto_scaling_policies.rb +46 -46
  337. data/lib/ey-core/requests/get_auto_scaling_policy.rb +27 -27
  338. data/lib/ey-core/requests/get_backup_file.rb +21 -21
  339. data/lib/ey-core/requests/get_backup_files.rb +28 -28
  340. data/lib/ey-core/requests/get_billing.rb +24 -24
  341. data/lib/ey-core/requests/get_blueprint.rb +21 -21
  342. data/lib/ey-core/requests/get_blueprints.rb +29 -29
  343. data/lib/ey-core/requests/get_component.rb +21 -21
  344. data/lib/ey-core/requests/get_components.rb +29 -29
  345. data/lib/ey-core/requests/get_contacts.rb +34 -34
  346. data/lib/ey-core/requests/get_costs.rb +25 -25
  347. data/lib/ey-core/requests/get_current_user.rb +19 -19
  348. data/lib/ey-core/requests/get_database_plan_usages.rb +24 -24
  349. data/lib/ey-core/requests/get_database_server.rb +21 -21
  350. data/lib/ey-core/requests/get_database_server_revisions.rb +27 -27
  351. data/lib/ey-core/requests/get_database_server_snapshot.rb +20 -20
  352. data/lib/ey-core/requests/get_database_server_snapshots.rb +39 -39
  353. data/lib/ey-core/requests/get_database_server_usages.rb +24 -24
  354. data/lib/ey-core/requests/get_database_servers.rb +30 -30
  355. data/lib/ey-core/requests/get_database_servers_firewalls.rb +30 -30
  356. data/lib/ey-core/requests/get_database_service.rb +20 -20
  357. data/lib/ey-core/requests/get_database_services.rb +55 -55
  358. data/lib/ey-core/requests/get_deployment.rb +19 -19
  359. data/lib/ey-core/requests/get_deployments.rb +29 -29
  360. data/lib/ey-core/requests/get_environment.rb +21 -21
  361. data/lib/ey-core/requests/get_environment_database_services.rb +21 -21
  362. data/lib/ey-core/requests/get_environment_logical_databases.rb +20 -20
  363. data/lib/ey-core/requests/get_environment_plan_usages.rb +24 -24
  364. data/lib/ey-core/requests/get_environment_variable.rb +19 -19
  365. data/lib/ey-core/requests/get_environment_variables.rb +29 -29
  366. data/lib/ey-core/requests/get_environments.rb +29 -29
  367. data/lib/ey-core/requests/get_feature.rb +21 -21
  368. data/lib/ey-core/requests/get_features.rb +28 -28
  369. data/lib/ey-core/requests/get_firewall.rb +21 -21
  370. data/lib/ey-core/requests/get_firewall_rule.rb +21 -21
  371. data/lib/ey-core/requests/get_firewall_rules.rb +29 -29
  372. data/lib/ey-core/requests/get_firewalls.rb +45 -45
  373. data/lib/ey-core/requests/get_gem.rb +24 -24
  374. data/lib/ey-core/requests/get_keypair.rb +21 -21
  375. data/lib/ey-core/requests/get_keypair_deployment.rb +21 -21
  376. data/lib/ey-core/requests/get_keypair_deployments.rb +29 -29
  377. data/lib/ey-core/requests/get_keypairs.rb +34 -34
  378. data/lib/ey-core/requests/get_legacy_alert.rb +21 -21
  379. data/lib/ey-core/requests/get_legacy_alerts.rb +29 -29
  380. data/lib/ey-core/requests/get_load_balancer.rb +21 -21
  381. data/lib/ey-core/requests/get_load_balancer_node.rb +21 -21
  382. data/lib/ey-core/requests/get_load_balancer_nodes.rb +30 -30
  383. data/lib/ey-core/requests/get_load_balancer_service.rb +21 -21
  384. data/lib/ey-core/requests/get_load_balancer_services.rb +30 -30
  385. data/lib/ey-core/requests/get_load_balancers.rb +29 -29
  386. data/lib/ey-core/requests/get_log.rb +21 -21
  387. data/lib/ey-core/requests/get_logical_database.rb +23 -23
  388. data/lib/ey-core/requests/get_logical_databases.rb +36 -36
  389. data/lib/ey-core/requests/get_logs.rb +37 -37
  390. data/lib/ey-core/requests/get_membership.rb +21 -21
  391. data/lib/ey-core/requests/get_memberships.rb +29 -29
  392. data/lib/ey-core/requests/get_message.rb +28 -28
  393. data/lib/ey-core/requests/get_messages.rb +27 -27
  394. data/lib/ey-core/requests/get_metadata.rb +22 -22
  395. data/lib/ey-core/requests/get_operational_contact.rb +21 -21
  396. data/lib/ey-core/requests/get_operational_contacts.rb +20 -20
  397. data/lib/ey-core/requests/get_plan_usages.rb +24 -24
  398. data/lib/ey-core/requests/get_possible_provider_locations.rb +19 -19
  399. data/lib/ey-core/requests/get_provider.rb +21 -21
  400. data/lib/ey-core/requests/get_provider_location.rb +29 -29
  401. data/lib/ey-core/requests/get_provider_locations.rb +28 -28
  402. data/lib/ey-core/requests/get_providers.rb +28 -28
  403. data/lib/ey-core/requests/get_request.rb +71 -71
  404. data/lib/ey-core/requests/get_requests.rb +29 -29
  405. data/lib/ey-core/requests/get_server.rb +34 -34
  406. data/lib/ey-core/requests/get_server_event.rb +20 -20
  407. data/lib/ey-core/requests/get_server_events.rb +28 -28
  408. data/lib/ey-core/requests/get_server_usages.rb +24 -24
  409. data/lib/ey-core/requests/get_servers.rb +25 -25
  410. data/lib/ey-core/requests/get_ssl_certificate.rb +23 -23
  411. data/lib/ey-core/requests/get_ssl_certificates.rb +28 -28
  412. data/lib/ey-core/requests/get_storage.rb +21 -21
  413. data/lib/ey-core/requests/get_storage_user.rb +21 -21
  414. data/lib/ey-core/requests/get_storage_users.rb +28 -28
  415. data/lib/ey-core/requests/get_storages.rb +28 -28
  416. data/lib/ey-core/requests/get_support_trial.rb +51 -51
  417. data/lib/ey-core/requests/get_task.rb +21 -21
  418. data/lib/ey-core/requests/get_tasks.rb +28 -28
  419. data/lib/ey-core/requests/get_token.rb +21 -21
  420. data/lib/ey-core/requests/get_token_by_login.rb +30 -30
  421. data/lib/ey-core/requests/get_tokens.rb +32 -32
  422. data/lib/ey-core/requests/get_untracked_server.rb +18 -18
  423. data/lib/ey-core/requests/get_untracked_servers.rb +24 -24
  424. data/lib/ey-core/requests/get_user.rb +21 -21
  425. data/lib/ey-core/requests/get_users.rb +42 -42
  426. data/lib/ey-core/requests/get_volume.rb +21 -21
  427. data/lib/ey-core/requests/get_volumes.rb +28 -28
  428. data/lib/ey-core/requests/reboot_server.rb +39 -39
  429. data/lib/ey-core/requests/reconcile_server.rb +39 -39
  430. data/lib/ey-core/requests/request_callback.rb +26 -26
  431. data/lib/ey-core/requests/reset_password.rb +31 -31
  432. data/lib/ey-core/requests/reset_server_state.rb +32 -32
  433. data/lib/ey-core/requests/restart_environment_app_servers.rb +38 -38
  434. data/lib/ey-core/requests/retrieve_docker_registry_credentials.rb +24 -24
  435. data/lib/ey-core/requests/run_cluster_application_action.rb +28 -28
  436. data/lib/ey-core/requests/run_environment_application_action.rb +29 -29
  437. data/lib/ey-core/requests/signup.rb +56 -56
  438. data/lib/ey-core/requests/start_server.rb +39 -39
  439. data/lib/ey-core/requests/stop_server.rb +39 -39
  440. data/lib/ey-core/requests/timeout_deployment.rb +27 -27
  441. data/lib/ey-core/requests/unassign_environment.rb +31 -31
  442. data/lib/ey-core/requests/update_addon.rb +28 -28
  443. data/lib/ey-core/requests/update_address.rb +29 -29
  444. data/lib/ey-core/requests/update_alert.rb +32 -32
  445. data/lib/ey-core/requests/update_application_archive.rb +23 -23
  446. data/lib/ey-core/requests/update_auto_scaling_alarm.rb +45 -45
  447. data/lib/ey-core/requests/update_auto_scaling_group.rb +45 -45
  448. data/lib/ey-core/requests/update_auto_scaling_policy.rb +46 -46
  449. data/lib/ey-core/requests/update_billing.rb +26 -26
  450. data/lib/ey-core/requests/update_blueprint.rb +29 -29
  451. data/lib/ey-core/requests/update_connector.rb +32 -32
  452. data/lib/ey-core/requests/update_environment.rb +17 -17
  453. data/lib/ey-core/requests/update_environment_variable.rb +25 -25
  454. data/lib/ey-core/requests/update_membership.rb +29 -29
  455. data/lib/ey-core/requests/update_provider_location.rb +29 -29
  456. data/lib/ey-core/requests/update_server.rb +29 -29
  457. data/lib/ey-core/requests/update_ssl_certificate.rb +25 -25
  458. data/lib/ey-core/requests/update_untracked_server.rb +24 -24
  459. data/lib/ey-core/requests/upload_file.rb +44 -44
  460. data/lib/ey-core/requests/upload_recipes_for_environment.rb +28 -28
  461. data/lib/ey-core/response.rb +59 -59
  462. data/lib/ey-core/response_cache.rb +29 -29
  463. data/lib/ey-core/subscribable.rb +60 -60
  464. data/lib/ey-core/test_helpers/account_helpers.rb +73 -73
  465. data/lib/ey-core/test_helpers/alert_helpers.rb +16 -16
  466. data/lib/ey-core/test_helpers/auto_scaling_helpers.rb +35 -35
  467. data/lib/ey-core/test_helpers/client_helpers.rb +40 -40
  468. data/lib/ey-core/test_helpers/cucumber.rb +3 -3
  469. data/lib/ey-core/test_helpers/resource_helpers.rb +196 -196
  470. data/lib/ey-core/test_helpers/rspec.rb +5 -5
  471. data/lib/ey-core/test_helpers.rb +17 -17
  472. data/lib/ey-core/token_authentication.rb +13 -13
  473. data/lib/ey-core/version.rb +5 -5
  474. data/lib/ey-core.rb +59 -59
  475. data/spec/account_spec.rb +65 -65
  476. data/spec/account_trial_spec.rb +17 -17
  477. data/spec/accounts_referrals_spec.rb +20 -20
  478. data/spec/accounts_spec.rb +113 -113
  479. data/spec/addons_and_vars_spec.rb +62 -62
  480. data/spec/addresses_spec.rb +57 -57
  481. data/spec/alerts_spec.rb +155 -155
  482. data/spec/application_archives_spec.rb +39 -39
  483. data/spec/applications_spec.rb +65 -65
  484. data/spec/auto_scaling_alarms_spec.rb +40 -40
  485. data/spec/auto_scaling_groups_spec.rb +28 -28
  486. data/spec/auto_scaling_policies_spec.rb +94 -94
  487. data/spec/billing_spec.rb +31 -31
  488. data/spec/blueprints_spec.rb +47 -47
  489. data/spec/client_spec.rb +16 -16
  490. data/spec/collection_spec.rb +43 -43
  491. data/spec/costs_spec.rb +22 -22
  492. data/spec/database_plan_usage_spec.rb +39 -39
  493. data/spec/database_server_snapshots_spec.rb +41 -41
  494. data/spec/database_server_usage_spec.rb +49 -49
  495. data/spec/database_servers_spec.rb +61 -61
  496. data/spec/database_services_spec.rb +76 -76
  497. data/spec/deployments_spec.rb +24 -24
  498. data/spec/docker_registry_credentials_spec.rb +16 -16
  499. data/spec/environment_plan_usage_spec.rb +38 -38
  500. data/spec/environments_spec.rb +212 -212
  501. data/spec/ey-core/cli/accounts_spec.rb +20 -20
  502. data/spec/ey-core/cli/helpers/server_sieve_spec.rb +226 -226
  503. data/spec/ey-core/cli/recipes/apply_spec.rb +34 -34
  504. data/spec/ey-core/cli/recipes/download_spec.rb +93 -93
  505. data/spec/ey-core/cli/recipes/upload_spec.rb +80 -80
  506. data/spec/features_spec.rb +79 -79
  507. data/spec/firewalls_spec.rb +84 -84
  508. data/spec/gems_spec.rb +11 -11
  509. data/spec/keypair_deployments_spec.rb +33 -33
  510. data/spec/keypairs_spec.rb +51 -51
  511. data/spec/legacy_alerts_spec.rb +44 -44
  512. data/spec/load_balancers_spec.rb +31 -31
  513. data/spec/logical_databases_spec.rb +38 -38
  514. data/spec/logs_spec.rb +44 -44
  515. data/spec/memberships_spec.rb +73 -73
  516. data/spec/messages_spec.rb +27 -27
  517. data/spec/metadata_spec.rb +11 -11
  518. data/spec/plan_usage_spec.rb +65 -65
  519. data/spec/provider_locations_spec.rb +85 -85
  520. data/spec/providers_spec.rb +105 -105
  521. data/spec/requests/upload_file_spec.rb +25 -25
  522. data/spec/requests_spec.rb +23 -23
  523. data/spec/reset_password_spec.rb +22 -22
  524. data/spec/server_events_spec.rb +31 -31
  525. data/spec/server_usage_spec.rb +70 -70
  526. data/spec/servers_spec.rb +202 -202
  527. data/spec/services_spec.rb +9 -9
  528. data/spec/signups_spec.rb +45 -45
  529. data/spec/spec_helper.rb +27 -27
  530. data/spec/ssl_certificates_spec.rb +94 -94
  531. data/spec/storages_spec.rb +57 -57
  532. data/spec/support/cli_helpers.rb +47 -47
  533. data/spec/support/core.rb +21 -21
  534. data/spec/support/coverage.rb +43 -43
  535. data/spec/support/fake_kernel.rb +21 -21
  536. data/spec/support/helpers.rb +1 -1
  537. data/spec/support/timecop.rb +8 -8
  538. data/spec/support_trial_spec.rb +33 -33
  539. data/spec/tokens_spec.rb +59 -59
  540. data/spec/untracked_servers_spec.rb +59 -59
  541. data/spec/users_spec.rb +108 -108
  542. metadata +4 -3
@@ -1,126 +1,126 @@
1
- require 'ey-core/cli/subcommand'
2
- require 'ey-core/cli/helpers/log_streaming'
3
-
4
- module Ey
5
- module Core
6
- module Cli
7
- class Deploy < Subcommand
8
- include Ey::Core::Cli::Helpers::LogStreaming
9
- title "deploy"
10
- summary "Deploy your application"
11
-
12
- option :environment,
13
- short: "e",
14
- long: "environment",
15
- description: "Name or id of the environment to deploy to.",
16
- argument: "Environment"
17
-
18
- option :account,
19
- short: 'c',
20
- long: 'account',
21
- description: 'Name or ID of the account that the environment resides in. If no account is specified, the app will deploy to the first environment that meets the criteria, in the accounts you have access to.',
22
- argument: 'Account name or id'
23
-
24
- option :ref,
25
- short: "r",
26
- long: "ref",
27
- description: "A git reference to deploy.",
28
- argument: "ref"
29
-
30
- option :migrate,
31
- short: "m",
32
- long: "migrate",
33
- description: "The migration command to run. This option has a 50 character limit.",
34
- argument: "migrate"
35
- option :serverside_version,
36
- short: "S",
37
- long: "serverside_version",
38
- description: "Override the default version of engineyard-serverside. The version must match a released version. Use with care.",
39
- argument: "serverside_version"
40
-
41
- option :app,
42
- short: "a",
43
- long: "app",
44
- description: "Application name or ID to deploy. If :account is not specified, this will be the first app that matches the criteria in the accounts you have access to.",
45
- argument: "app"
46
-
47
- switch :no_wait,
48
- long: "no-wait",
49
- description: "Don't wait for deploy to finish, exit after deploy is started"
50
-
51
- switch :verbose,
52
- short: "v",
53
- long: "verbose",
54
- description: "Stream deploy output to this console. Alias to stream for backwards compatibility."
55
-
56
- switch :no_migrate,
57
- long: "no-migrate",
58
- description: "Skip migration."
59
-
60
- def handle
61
- operator, environment = core_operator_and_environment_for(self.options)
62
- if operator.is_a?(Ey::Core::Client::Account)
63
- abort <<-EOF
64
- Found account #{operator.name} but requested account #{option(:account)}.
65
- Use the ID of the account instead of the name.
66
- This can be retrieved by running "ey-core accounts".
67
- EOF
68
- .red unless operator.name == option(:account) || operator.id == option(:account)
69
- end
70
-
71
- unless environment
72
- abort "Unable to locate environment #{option[:environment]} in #{operator.name}".red
73
- end
74
-
75
- unless option(:account)
76
- self.options.merge!(environment: environment)
77
- end
78
-
79
- app = core_application_for(environment, self.options)
80
-
81
- deploy_options = {verbose: switch_active?(:verbose), cli_args: ARGV}
82
- latest_deploy = nil
83
- if options[:serverside_version]
84
- deploy_options.merge!(serverside_version: option(:serverside_version))
85
- end
86
- if options[:ref]
87
- deploy_options.merge!(ref: option(:ref))
88
- else
89
- puts "--ref not provided, checking latest deploy...".yellow
90
- latest_deploy ||= environment.latest_deploy(app)
91
- if latest_deploy && latest_deploy.ref
92
- deploy_options[:ref] = latest_deploy.ref
93
- else
94
- raise "--ref is required (HEAD is the typical choice)"
95
- end
96
- end
97
- if (option(:migrate) || switch_active?(:no_migrate))
98
- deploy_options.merge!(migrate_command: option(:migrate)) if option(:migrate)
99
- deploy_options.merge!(migrate_command: nil) if switch_active?(:no_migrate)
100
- else
101
- puts "missing migrate option (--migrate or --no-migrate), checking latest deploy...".yellow
102
- latest_deploy ||= environment.latest_deploy(app)
103
- if latest_deploy
104
- deploy_options.merge!(migrate_command: (latest_deploy.migrate && latest_deploy.migrate_command) || nil)
105
- else
106
- raise "either --migrate or --no-migrate needs to be specified"
107
- end
108
- end
109
- request = environment.deploy(app, deploy_options)
110
-
111
- puts <<-EOF
112
- Deploy started to environment: #{environment.name} with application: #{app.name}
113
- Request ID: #{request.id}
114
- EOF
115
- ap request
116
- ap request.resource
117
- if switch_active?(:no_wait)
118
- puts("Deploy started".green + " (use status command with --tail to view output)")
119
- else
120
- stream_deploy_log(request)
121
- end
122
- end
123
- end
124
- end
125
- end
126
- end
1
+ require 'ey-core/cli/subcommand'
2
+ require 'ey-core/cli/helpers/log_streaming'
3
+
4
+ module Ey
5
+ module Core
6
+ module Cli
7
+ class Deploy < Subcommand
8
+ include Ey::Core::Cli::Helpers::LogStreaming
9
+ title "deploy"
10
+ summary "Deploy your application"
11
+
12
+ option :environment,
13
+ short: "e",
14
+ long: "environment",
15
+ description: "Name or id of the environment to deploy to.",
16
+ argument: "Environment"
17
+
18
+ option :account,
19
+ short: 'c',
20
+ long: 'account',
21
+ description: 'Name or ID of the account that the environment resides in. If no account is specified, the app will deploy to the first environment that meets the criteria, in the accounts you have access to.',
22
+ argument: 'Account name or id'
23
+
24
+ option :ref,
25
+ short: "r",
26
+ long: "ref",
27
+ description: "A git reference to deploy.",
28
+ argument: "ref"
29
+
30
+ option :migrate,
31
+ short: "m",
32
+ long: "migrate",
33
+ description: "The migration command to run. This option has a 50 character limit.",
34
+ argument: "migrate"
35
+ option :serverside_version,
36
+ short: "S",
37
+ long: "serverside_version",
38
+ description: "Override the default version of engineyard-serverside. The version must match a released version. Use with care.",
39
+ argument: "serverside_version"
40
+
41
+ option :app,
42
+ short: "a",
43
+ long: "app",
44
+ description: "Application name or ID to deploy. If :account is not specified, this will be the first app that matches the criteria in the accounts you have access to.",
45
+ argument: "app"
46
+
47
+ switch :no_wait,
48
+ long: "no-wait",
49
+ description: "Don't wait for deploy to finish, exit after deploy is started"
50
+
51
+ switch :verbose,
52
+ short: "v",
53
+ long: "verbose",
54
+ description: "Stream deploy output to this console. Alias to stream for backwards compatibility."
55
+
56
+ switch :no_migrate,
57
+ long: "no-migrate",
58
+ description: "Skip migration."
59
+
60
+ def handle
61
+ operator, environment = core_operator_and_environment_for(self.options)
62
+ if operator.is_a?(Ey::Core::Client::Account)
63
+ abort <<-EOF
64
+ Found account #{operator.name} but requested account #{option(:account)}.
65
+ Use the ID of the account instead of the name.
66
+ This can be retrieved by running "ey-core accounts".
67
+ EOF
68
+ .red unless operator.name == option(:account) || operator.id == option(:account)
69
+ end
70
+
71
+ unless environment
72
+ abort "Unable to locate environment #{option[:environment]} in #{operator.name}".red
73
+ end
74
+
75
+ unless option(:account)
76
+ self.options.merge!(environment: environment)
77
+ end
78
+
79
+ app = core_application_for(environment, self.options)
80
+
81
+ deploy_options = {verbose: switch_active?(:verbose), cli_args: ARGV}
82
+ latest_deploy = nil
83
+ if options[:serverside_version]
84
+ deploy_options.merge!(serverside_version: option(:serverside_version))
85
+ end
86
+ if options[:ref]
87
+ deploy_options.merge!(ref: option(:ref))
88
+ else
89
+ puts "--ref not provided, checking latest deploy...".yellow
90
+ latest_deploy ||= environment.latest_deploy(app)
91
+ if latest_deploy && latest_deploy.ref
92
+ deploy_options[:ref] = latest_deploy.ref
93
+ else
94
+ raise "--ref is required (HEAD is the typical choice)"
95
+ end
96
+ end
97
+ if (option(:migrate) || switch_active?(:no_migrate))
98
+ deploy_options.merge!(migrate_command: option(:migrate)) if option(:migrate)
99
+ deploy_options.merge!(migrate_command: nil) if switch_active?(:no_migrate)
100
+ else
101
+ puts "missing migrate option (--migrate or --no-migrate), checking latest deploy...".yellow
102
+ latest_deploy ||= environment.latest_deploy(app)
103
+ if latest_deploy
104
+ deploy_options.merge!(migrate_command: (latest_deploy.migrate && latest_deploy.migrate_command) || nil)
105
+ else
106
+ raise "either --migrate or --no-migrate needs to be specified"
107
+ end
108
+ end
109
+ request = environment.deploy(app, deploy_options)
110
+
111
+ puts <<-EOF
112
+ Deploy started to environment: #{environment.name} with application: #{app.name}
113
+ Request ID: #{request.id}
114
+ EOF
115
+ ap request
116
+ ap request.resource
117
+ if switch_active?(:no_wait)
118
+ puts("Deploy started".green + " (use status command with --tail to view output)")
119
+ else
120
+ stream_deploy_log(request)
121
+ end
122
+ end
123
+ end
124
+ end
125
+ end
126
+ end
@@ -1,29 +1,29 @@
1
- require 'ey-core/cli/subcommand'
2
-
3
- module Ey
4
- module Core
5
- module Cli
6
- class DockerRegistryLogin < Subcommand
7
- title "get-docker-registry-login"
8
- summary "Prints the docker login command to authorize the Docker Engine with the AWS ECR registry"
9
-
10
- option :account,
11
- short: 'c',
12
- long: 'account',
13
- description: 'Name or ID of the account that the environment resides in.',
14
- argument: 'Account name or id'
15
-
16
- option :location,
17
- short: 'l',
18
- long: 'location',
19
- description: 'ECR availability regions',
20
- argument: 'Location name'
21
-
22
- def handle
23
- credentials = core_account.retrieve_docker_registry_credentials(option(:location))
24
- stdout.puts "docker login -u #{credentials.username} -p #{credentials.password} #{credentials.registry_endpoint}"
25
- end
26
- end
27
- end
28
- end
29
- end
1
+ require 'ey-core/cli/subcommand'
2
+
3
+ module Ey
4
+ module Core
5
+ module Cli
6
+ class DockerRegistryLogin < Subcommand
7
+ title "get-docker-registry-login"
8
+ summary "Prints the docker login command to authorize the Docker Engine with the AWS ECR registry"
9
+
10
+ option :account,
11
+ short: 'c',
12
+ long: 'account',
13
+ description: 'Name or ID of the account that the environment resides in.',
14
+ argument: 'Account name or id'
15
+
16
+ option :location,
17
+ short: 'l',
18
+ long: 'location',
19
+ description: 'ECR availability regions',
20
+ argument: 'Location name'
21
+
22
+ def handle
23
+ credentials = core_account.retrieve_docker_registry_credentials(option(:location))
24
+ stdout.puts "docker login -u #{credentials.username} -p #{credentials.password} #{credentials.registry_endpoint}"
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -1,71 +1,71 @@
1
- require 'ey-core/cli/subcommand'
2
- require 'ey-core/cli/helpers/stream_printer'
3
-
4
- module Ey
5
- module Core
6
- module Cli
7
- class EnvironmentVariables < Subcommand
8
- MASK = '****'.freeze
9
- SYMBOLS_TO_DISPLAY = 4
10
- MAX_LENGTH_TO_DISPLAY = 30
11
-
12
- include Ey::Core::Cli::Helpers::StreamPrinter
13
-
14
- title "environment_variables"
15
- summary "Retrieve a list of Engine Yard environment variables for environments that you have access to."
16
-
17
- option :environment,
18
- short: 'e',
19
- long: 'environment',
20
- description: 'Filter by environmeent name or id',
21
- argument: 'Environment'
22
-
23
- option :application,
24
- short: 'a',
25
- long: 'application',
26
- description: 'Filter by application name or id',
27
- argument: 'Application'
28
-
29
- switch :display_sensitive,
30
- short: 's',
31
- long: 'display_sensitive',
32
- description: 'Determines whether values of sensitive variables should be printed',
33
- argument: 'Display Sensitive'
34
-
35
- def handle
36
- environment_variables = if option(:application)
37
- core_applications(option(:application)).flat_map(&:environment_variables)
38
- elsif option(:environment)
39
- core_environments(option(:environment)).flat_map(&:environment_variables)
40
- else
41
- core_environment_variables
42
- end
43
-
44
- stream_print("ID" => 10, "Name" => 30, "Value" => 50, "Environment" => 30, "Application" => 30) do |printer|
45
- environment_variables.each_entry do |ev|
46
- printer.print(ev.id, ev.name, print_variable_value(ev), ev.environment_name, ev.application_name)
47
- end
48
- end
49
- end
50
-
51
- private
52
-
53
- def print_variable_value(environment_variable)
54
- if environment_variable.sensitive && !switch_active?(:display_sensitive)
55
- hide_sensitive_data(environment_variable.value)
56
- else
57
- environment_variable.value
58
- end
59
- end
60
-
61
- def hide_sensitive_data(value)
62
- if value.length > SYMBOLS_TO_DISPLAY
63
- MASK + value[-SYMBOLS_TO_DISPLAY, SYMBOLS_TO_DISPLAY]
64
- else
65
- MASK
66
- end
67
- end
68
- end
69
- end
70
- end
71
- end
1
+ require 'ey-core/cli/subcommand'
2
+ require 'ey-core/cli/helpers/stream_printer'
3
+
4
+ module Ey
5
+ module Core
6
+ module Cli
7
+ class EnvironmentVariables < Subcommand
8
+ MASK = '****'.freeze
9
+ SYMBOLS_TO_DISPLAY = 4
10
+ MAX_LENGTH_TO_DISPLAY = 30
11
+
12
+ include Ey::Core::Cli::Helpers::StreamPrinter
13
+
14
+ title "environment_variables"
15
+ summary "Retrieve a list of Engine Yard environment variables for environments that you have access to."
16
+
17
+ option :environment,
18
+ short: 'e',
19
+ long: 'environment',
20
+ description: 'Filter by environmeent name or id',
21
+ argument: 'Environment'
22
+
23
+ option :application,
24
+ short: 'a',
25
+ long: 'application',
26
+ description: 'Filter by application name or id',
27
+ argument: 'Application'
28
+
29
+ switch :display_sensitive,
30
+ short: 's',
31
+ long: 'display_sensitive',
32
+ description: 'Determines whether values of sensitive variables should be printed',
33
+ argument: 'Display Sensitive'
34
+
35
+ def handle
36
+ environment_variables = if option(:application)
37
+ core_applications(option(:application)).flat_map(&:environment_variables)
38
+ elsif option(:environment)
39
+ core_environments(option(:environment)).flat_map(&:environment_variables)
40
+ else
41
+ core_environment_variables
42
+ end
43
+
44
+ stream_print("ID" => 10, "Name" => 30, "Value" => 50, "Environment" => 30, "Application" => 30) do |printer|
45
+ environment_variables.each_entry do |ev|
46
+ printer.print(ev.id, ev.name, print_variable_value(ev), ev.environment_name, ev.application_name)
47
+ end
48
+ end
49
+ end
50
+
51
+ private
52
+
53
+ def print_variable_value(environment_variable)
54
+ if environment_variable.sensitive && !switch_active?(:display_sensitive)
55
+ hide_sensitive_data(environment_variable.value)
56
+ else
57
+ environment_variable.value
58
+ end
59
+ end
60
+
61
+ def hide_sensitive_data(value)
62
+ if value.length > SYMBOLS_TO_DISPLAY
63
+ MASK + value[-SYMBOLS_TO_DISPLAY, SYMBOLS_TO_DISPLAY]
64
+ else
65
+ MASK
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
@@ -1,39 +1,39 @@
1
- require 'ey-core/cli/subcommand'
2
- require 'ey-core/cli/helpers/stream_printer'
3
-
4
- module Ey
5
- module Core
6
- module Cli
7
- class Environments < Subcommand
8
- include Ey::Core::Cli::Helpers::StreamPrinter
9
- title "environments"
10
- summary "Retrieve a list of Engine Yard environments that you have access to."
11
-
12
- option :account,
13
- short: 'c',
14
- long: 'account',
15
- description: 'Filter by account name or id',
16
- argument: 'Account'
17
-
18
- def handle
19
- if option(:account)
20
- stream_print("ID" => 10, "Name" => 50) do |printer|
21
- core_account.environments.each_entry do |env|
22
- printer.print(env.id, env.name)
23
- end
24
- end
25
- else
26
- stream_print("ID" => 10, "Name" => 50, "Account" => 50) do |printer|
27
- core_accounts.each_entry do |account|
28
- account.environments.each_entry do |env|
29
- printer.print(env.id, env.name, account.name)
30
- end
31
- end
32
- end
33
- end
34
- end
35
-
36
- end
37
- end
38
- end
39
- end
1
+ require 'ey-core/cli/subcommand'
2
+ require 'ey-core/cli/helpers/stream_printer'
3
+
4
+ module Ey
5
+ module Core
6
+ module Cli
7
+ class Environments < Subcommand
8
+ include Ey::Core::Cli::Helpers::StreamPrinter
9
+ title "environments"
10
+ summary "Retrieve a list of Engine Yard environments that you have access to."
11
+
12
+ option :account,
13
+ short: 'c',
14
+ long: 'account',
15
+ description: 'Filter by account name or id',
16
+ argument: 'Account'
17
+
18
+ def handle
19
+ if option(:account)
20
+ stream_print("ID" => 10, "Name" => 50) do |printer|
21
+ core_account.environments.each_entry do |env|
22
+ printer.print(env.id, env.name)
23
+ end
24
+ end
25
+ else
26
+ stream_print("ID" => 10, "Name" => 50, "Account" => 50) do |printer|
27
+ core_accounts.each_entry do |account|
28
+ account.environments.each_entry do |env|
29
+ printer.print(env.id, env.name, account.name)
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+
36
+ end
37
+ end
38
+ end
39
+ end
@@ -1,11 +1,11 @@
1
- module Ey
2
- module Core
3
- module Cli
4
- RecipesNotFound = Class.new(ArgumentError)
5
- NoCommand = Class.new(ArgumentError)
6
- NoRepository = Class.new(ArgumentError)
7
- RecipesExist = Class.new(ArgumentError)
8
- AmbiguousSearch = Class.new(ArgumentError)
9
- end
10
- end
11
- end
1
+ module Ey
2
+ module Core
3
+ module Cli
4
+ RecipesNotFound = Class.new(ArgumentError)
5
+ NoCommand = Class.new(ArgumentError)
6
+ NoRepository = Class.new(ArgumentError)
7
+ RecipesExist = Class.new(ArgumentError)
8
+ AmbiguousSearch = Class.new(ArgumentError)
9
+ end
10
+ end
11
+ end
@@ -1,30 +1,30 @@
1
- require 'belafonte'
2
-
3
- module Ey
4
- module Core
5
- module Cli
6
- class Help < Belafonte::App
7
- title 'help'
8
- summary 'Print out the help docs'
9
-
10
- arg :command_line,
11
- times: :unlimited
12
-
13
- def handle
14
- Main.new(
15
- command_line.unshift('-h'),
16
- stdin,
17
- stdout,
18
- stderr,
19
- kernel
20
- ).execute!
21
- end
22
-
23
- private
24
- def command_line
25
- arg(:command_line)
26
- end
27
- end
28
- end
29
- end
30
- end
1
+ require 'belafonte'
2
+
3
+ module Ey
4
+ module Core
5
+ module Cli
6
+ class Help < Belafonte::App
7
+ title 'help'
8
+ summary 'Print out the help docs'
9
+
10
+ arg :command_line,
11
+ times: :unlimited
12
+
13
+ def handle
14
+ Main.new(
15
+ command_line.unshift('-h'),
16
+ stdin,
17
+ stdout,
18
+ stderr,
19
+ kernel
20
+ ).execute!
21
+ end
22
+
23
+ private
24
+ def command_line
25
+ arg(:command_line)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end