ey-core 3.4.2 → 3.4.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +26 -23
- data/.ruby-gemset +1 -1
- data/.ruby-version +1 -1
- data/.travis.yml +23 -22
- data/CHANGELOG.md +166 -166
- data/Gemfile +21 -21
- data/Guardfile +15 -15
- data/LICENSE.txt +19 -19
- data/README.md +78 -78
- data/Rakefile +18 -18
- data/bin/console +4 -0
- data/bin/ey-core +4 -4
- data/examples/add_instance.rb +74 -74
- data/examples/boot_env.rb +60 -60
- data/examples/console/README.md +14 -14
- data/examples/console/address.md +51 -51
- data/examples/stop_env.rb +51 -51
- data/examples/terminate_instance.rb +62 -62
- data/ey-core.gemspec +51 -51
- data/features/accounts.feature +13 -13
- data/features/applications.feature +29 -29
- data/features/current_user.feature +14 -14
- data/features/environments.feature +30 -30
- data/features/init.feature +6 -6
- data/features/login.feature +6 -6
- data/features/scp.feature +6 -6
- data/features/step_definitions/accounts_steps.rb +23 -23
- data/features/step_definitions/applications_steps.rb +46 -46
- data/features/step_definitions/current_user_steps.rb +11 -11
- data/features/step_definitions/deprecated_command_steps.rb +3 -3
- data/features/step_definitions/environments_steps.rb +37 -37
- data/features/step_definitions/version_steps.rb +3 -3
- data/features/support/account_helpers.rb +89 -89
- data/features/support/app_helpers.rb +19 -19
- data/features/support/aruba.rb +1 -1
- data/features/support/boilerplate.rb +1 -1
- data/features/support/client_helpers.rb +36 -36
- data/features/support/config_file_helpers.rb +42 -42
- data/features/support/core.rb +19 -19
- data/features/support/deployment_helpers.rb +19 -19
- data/features/support/env.rb +40 -40
- data/features/support/environment_helpers.rb +23 -23
- data/features/support/fake_kernel.rb +23 -23
- data/features/support/io.rb +5 -5
- data/features/support/mock_api.rb +21 -21
- data/features/support/output_helpers.rb +7 -7
- data/features/support/resource_helpers.rb +189 -189
- data/features/support/server_helpers.rb +27 -27
- data/features/version.feature +8 -8
- data/features/whoami.feature +14 -14
- data/lib/ey-core/associations.rb +155 -155
- data/lib/ey-core/cli/accounts.rb +17 -17
- data/lib/ey-core/cli/applications.rb +36 -36
- data/lib/ey-core/cli/console.rb +28 -28
- data/lib/ey-core/cli/current_user.rb +16 -16
- data/lib/ey-core/cli/deploy.rb +123 -123
- data/lib/ey-core/cli/environments.rb +39 -39
- data/lib/ey-core/cli/errors.rb +11 -11
- data/lib/ey-core/cli/help.rb +30 -30
- data/lib/ey-core/cli/helpers/archive.rb +70 -70
- data/lib/ey-core/cli/helpers/chef.rb +51 -51
- data/lib/ey-core/cli/helpers/core.rb +196 -196
- data/lib/ey-core/cli/helpers/deprecated.rb +39 -39
- data/lib/ey-core/cli/helpers/log_streaming.rb +41 -41
- data/lib/ey-core/cli/helpers/server_sieve.rb +76 -76
- data/lib/ey-core/cli/helpers/stream_printer.rb +42 -42
- data/lib/ey-core/cli/init.rb +14 -14
- data/lib/ey-core/cli/login.rb +38 -38
- data/lib/ey-core/cli/logout.rb +22 -22
- data/lib/ey-core/cli/logs.rb +70 -70
- data/lib/ey-core/cli/main.rb +65 -65
- data/lib/ey-core/cli/recipes/apply.rb +65 -65
- data/lib/ey-core/cli/recipes/download.rb +52 -52
- data/lib/ey-core/cli/recipes/main.rb +21 -21
- data/lib/ey-core/cli/recipes/upload.rb +78 -78
- data/lib/ey-core/cli/recipes.rb +10 -10
- data/lib/ey-core/cli/scp.rb +14 -14
- data/lib/ey-core/cli/servers.rb +41 -41
- data/lib/ey-core/cli/ssh.rb +150 -150
- data/lib/ey-core/cli/status.rb +60 -60
- data/lib/ey-core/cli/subcommand.rb +53 -53
- data/lib/ey-core/cli/timeout_deploy.rb +58 -58
- data/lib/ey-core/cli/version.rb +16 -16
- data/lib/ey-core/cli/web/disable.rb +49 -49
- data/lib/ey-core/cli/web/enable.rb +46 -46
- data/lib/ey-core/cli/web/main.rb +21 -21
- data/lib/ey-core/cli/web/restart.rb +42 -42
- data/lib/ey-core/cli/web.rb +10 -10
- data/lib/ey-core/cli/whoami.rb +12 -12
- data/lib/ey-core/cli.rb +8 -8
- data/lib/ey-core/client/mock.rb +302 -301
- data/lib/ey-core/client/real.rb +93 -93
- data/lib/ey-core/client.rb +442 -434
- data/lib/ey-core/collection.rb +131 -131
- data/lib/ey-core/collections/account_cancellations.rb +6 -6
- data/lib/ey-core/collections/account_referrals.rb +10 -10
- data/lib/ey-core/collections/accounts.rb +8 -8
- data/lib/ey-core/collections/addons.rb +16 -16
- data/lib/ey-core/collections/addresses.rb +9 -9
- data/lib/ey-core/collections/alerts.rb +9 -9
- data/lib/ey-core/collections/application_archives.rb +9 -9
- data/lib/ey-core/collections/application_deployments.rb +9 -9
- data/lib/ey-core/collections/applications.rb +9 -9
- data/lib/ey-core/collections/auto_scaling_groups.rb +8 -0
- data/lib/ey-core/collections/backup_files.rb +9 -9
- data/lib/ey-core/collections/blueprints.rb +9 -9
- data/lib/ey-core/collections/components.rb +9 -9
- data/lib/ey-core/collections/contacts.rb +9 -9
- data/lib/ey-core/collections/costs.rb +8 -8
- data/lib/ey-core/collections/database_plan_usages.rb +7 -7
- data/lib/ey-core/collections/database_server_revisions.rb +7 -7
- data/lib/ey-core/collections/database_server_snapshots.rb +17 -17
- data/lib/ey-core/collections/database_server_usages.rb +7 -7
- data/lib/ey-core/collections/database_servers.rb +9 -9
- data/lib/ey-core/collections/database_services.rb +9 -9
- data/lib/ey-core/collections/deployments.rb +8 -8
- data/lib/ey-core/collections/environment_plan_usages.rb +7 -7
- data/lib/ey-core/collections/environments.rb +15 -15
- data/lib/ey-core/collections/features.rb +9 -9
- data/lib/ey-core/collections/firewall_rules.rb +9 -9
- data/lib/ey-core/collections/firewalls.rb +9 -9
- data/lib/ey-core/collections/gems.rb +6 -6
- data/lib/ey-core/collections/keypair_deployments.rb +9 -9
- data/lib/ey-core/collections/keypairs.rb +9 -9
- data/lib/ey-core/collections/legacy_alerts.rb +9 -9
- data/lib/ey-core/collections/load_balancer_nodes.rb +9 -9
- data/lib/ey-core/collections/load_balancer_services.rb +9 -9
- data/lib/ey-core/collections/load_balancers.rb +16 -16
- data/lib/ey-core/collections/logical_databases.rb +16 -16
- data/lib/ey-core/collections/logs.rb +9 -9
- data/lib/ey-core/collections/memberships.rb +9 -9
- data/lib/ey-core/collections/messages.rb +9 -9
- data/lib/ey-core/collections/plan_usages.rb +7 -7
- data/lib/ey-core/collections/provider_locations.rb +13 -13
- data/lib/ey-core/collections/providers.rb +15 -15
- data/lib/ey-core/collections/requests.rb +10 -10
- data/lib/ey-core/collections/server_events.rb +9 -9
- data/lib/ey-core/collections/server_usages.rb +7 -7
- data/lib/ey-core/collections/servers.rb +13 -9
- data/lib/ey-core/collections/services.rb +14 -14
- data/lib/ey-core/collections/ssl_certificates.rb +9 -9
- data/lib/ey-core/collections/storage_users.rb +10 -10
- data/lib/ey-core/collections/storages.rb +9 -9
- data/lib/ey-core/collections/tasks.rb +9 -9
- data/lib/ey-core/collections/tokens.rb +9 -9
- data/lib/ey-core/collections/untracked_addresses.rb +4 -4
- data/lib/ey-core/collections/untracked_servers.rb +9 -9
- data/lib/ey-core/collections/users.rb +12 -12
- data/lib/ey-core/collections/volumes.rb +9 -9
- data/lib/ey-core/logger.rb +31 -31
- data/lib/ey-core/memory_cache.rb +17 -17
- data/lib/ey-core/mock/helper.rb +104 -104
- data/lib/ey-core/mock/params.rb +31 -31
- data/lib/ey-core/mock/resources.rb +92 -92
- data/lib/ey-core/mock/searching.rb +115 -115
- data/lib/ey-core/mock/util.rb +23 -23
- data/lib/ey-core/model.rb +44 -44
- data/lib/ey-core/models/account.rb +70 -70
- data/lib/ey-core/models/account_cancellation.rb +6 -6
- data/lib/ey-core/models/account_referral.rb +8 -8
- data/lib/ey-core/models/account_trial.rb +15 -15
- data/lib/ey-core/models/addon.rb +37 -37
- data/lib/ey-core/models/address.rb +57 -57
- data/lib/ey-core/models/alert.rb +100 -99
- data/lib/ey-core/models/application.rb +32 -32
- data/lib/ey-core/models/application_archive.rb +67 -67
- data/lib/ey-core/models/application_deployment.rb +18 -18
- data/lib/ey-core/models/auto_scaling_group.rb +49 -0
- data/lib/ey-core/models/backup_file.rb +52 -52
- data/lib/ey-core/models/billing.rb +27 -27
- data/lib/ey-core/models/blueprint.rb +30 -30
- data/lib/ey-core/models/component.rb +11 -11
- data/lib/ey-core/models/contact.rb +14 -14
- data/lib/ey-core/models/cost.rb +16 -16
- data/lib/ey-core/models/database_plan_usage.rb +10 -10
- data/lib/ey-core/models/database_server.rb +56 -56
- data/lib/ey-core/models/database_server_revision.rb +10 -10
- data/lib/ey-core/models/database_server_snapshot.rb +43 -43
- data/lib/ey-core/models/database_server_usage.rb +15 -15
- data/lib/ey-core/models/database_service.rb +52 -52
- data/lib/ey-core/models/deployment.rb +30 -30
- data/lib/ey-core/models/environment.rb +242 -236
- data/lib/ey-core/models/environment_plan_usage.rb +10 -10
- data/lib/ey-core/models/feature.rb +33 -33
- data/lib/ey-core/models/firewall.rb +46 -46
- data/lib/ey-core/models/firewall_rule.rb +41 -41
- data/lib/ey-core/models/gem.rb +5 -5
- data/lib/ey-core/models/keypair.rb +38 -38
- data/lib/ey-core/models/keypair_deployment.rb +26 -26
- data/lib/ey-core/models/legacy_alert.rb +12 -12
- data/lib/ey-core/models/load_balancer.rb +43 -43
- data/lib/ey-core/models/load_balancer_node.rb +17 -17
- data/lib/ey-core/models/load_balancer_service.rb +22 -22
- data/lib/ey-core/models/log.rb +44 -44
- data/lib/ey-core/models/logical_database.rb +40 -40
- data/lib/ey-core/models/membership.rb +49 -49
- data/lib/ey-core/models/message.rb +27 -27
- data/lib/ey-core/models/plan_usage.rb +14 -14
- data/lib/ey-core/models/provider.rb +59 -59
- data/lib/ey-core/models/provider_location.rb +24 -24
- data/lib/ey-core/models/request.rb +105 -103
- data/lib/ey-core/models/server.rb +151 -149
- data/lib/ey-core/models/server_event.rb +11 -11
- data/lib/ey-core/models/server_usage.rb +15 -15
- data/lib/ey-core/models/service.rb +10 -10
- data/lib/ey-core/models/ssl_certificate.rb +44 -44
- data/lib/ey-core/models/storage.rb +38 -38
- data/lib/ey-core/models/storage_user.rb +44 -44
- data/lib/ey-core/models/support_trial.rb +10 -10
- data/lib/ey-core/models/task.rb +35 -35
- data/lib/ey-core/models/token.rb +24 -24
- data/lib/ey-core/models/untracked_address.rb +24 -24
- data/lib/ey-core/models/untracked_server.rb +45 -45
- data/lib/ey-core/models/user.rb +39 -39
- data/lib/ey-core/models/volume.rb +20 -20
- data/lib/ey-core/request.rb +21 -21
- data/lib/ey-core/request_failure.rb +11 -11
- data/lib/ey-core/requests/acknowledge_alert.rb +29 -29
- data/lib/ey-core/requests/apply_environment_updates.rb +54 -54
- data/lib/ey-core/requests/apply_server_updates.rb +52 -52
- data/lib/ey-core/requests/attach_address.rb +53 -53
- data/lib/ey-core/requests/authorized_channel.rb +22 -22
- data/lib/ey-core/requests/blueprint_environment.rb +72 -72
- data/lib/ey-core/requests/boot_environment.rb +187 -187
- data/lib/ey-core/requests/bootstrap_logical_database.rb +80 -80
- data/lib/ey-core/requests/cancel_account.rb +33 -33
- data/lib/ey-core/requests/change_environment_maintenance.rb +38 -38
- data/lib/ey-core/requests/create_account.rb +33 -33
- data/lib/ey-core/requests/create_addon.rb +35 -35
- data/lib/ey-core/requests/create_address.rb +53 -53
- data/lib/ey-core/requests/create_alert.rb +63 -63
- data/lib/ey-core/requests/create_application.rb +72 -72
- data/lib/ey-core/requests/create_application_archive.rb +44 -44
- data/lib/ey-core/requests/create_auto_scaling_group.rb +62 -0
- data/lib/ey-core/requests/create_backup_file.rb +52 -52
- data/lib/ey-core/requests/create_database_server.rb +72 -72
- data/lib/ey-core/requests/create_database_service.rb +57 -57
- data/lib/ey-core/requests/create_database_service_snapshot.rb +69 -69
- data/lib/ey-core/requests/create_environment.rb +76 -75
- data/lib/ey-core/requests/create_firewall.rb +62 -62
- data/lib/ey-core/requests/create_firewall_rule.rb +60 -60
- data/lib/ey-core/requests/create_keypair.rb +42 -42
- data/lib/ey-core/requests/create_keypair_deployment.rb +36 -36
- data/lib/ey-core/requests/create_load_balancer.rb +62 -62
- data/lib/ey-core/requests/create_log.rb +53 -53
- data/lib/ey-core/requests/create_logical_database.rb +56 -56
- data/lib/ey-core/requests/create_membership.rb +47 -47
- data/lib/ey-core/requests/create_message.rb +35 -35
- data/lib/ey-core/requests/create_password_reset.rb +38 -38
- data/lib/ey-core/requests/create_provider.rb +90 -90
- data/lib/ey-core/requests/create_server.rb +121 -121
- data/lib/ey-core/requests/create_ssl_certificate.rb +83 -83
- data/lib/ey-core/requests/create_storage.rb +64 -64
- data/lib/ey-core/requests/create_storage_user.rb +64 -64
- data/lib/ey-core/requests/create_task.rb +55 -55
- data/lib/ey-core/requests/create_token.rb +24 -24
- data/lib/ey-core/requests/create_untracked_address.rb +50 -50
- data/lib/ey-core/requests/create_untracked_server.rb +39 -39
- data/lib/ey-core/requests/create_user.rb +52 -52
- data/lib/ey-core/requests/deploy_environment_application.rb +60 -60
- data/lib/ey-core/requests/deprovision_environment.rb +17 -17
- data/lib/ey-core/requests/destroy_addon.rb +24 -24
- data/lib/ey-core/requests/destroy_auto_scaling_group.rb +44 -0
- data/lib/ey-core/requests/destroy_blueprint.rb +22 -22
- data/lib/ey-core/requests/destroy_database_server.rb +41 -41
- data/lib/ey-core/requests/destroy_database_server_snapshot.rb +42 -42
- data/lib/ey-core/requests/destroy_database_service.rb +57 -57
- data/lib/ey-core/requests/destroy_environment.rb +43 -43
- data/lib/ey-core/requests/destroy_firewall.rb +41 -41
- data/lib/ey-core/requests/destroy_firewall_rule.rb +41 -41
- data/lib/ey-core/requests/destroy_load_balancer.rb +30 -30
- data/lib/ey-core/requests/destroy_logical_database.rb +41 -41
- data/lib/ey-core/requests/destroy_provider.rb +34 -34
- data/lib/ey-core/requests/destroy_server.rb +48 -48
- data/lib/ey-core/requests/destroy_ssl_certificate.rb +28 -28
- data/lib/ey-core/requests/destroy_storage.rb +33 -33
- data/lib/ey-core/requests/destroy_storage_user.rb +38 -38
- data/lib/ey-core/requests/destroy_user.rb +29 -29
- data/lib/ey-core/requests/detach_address.rb +48 -48
- data/lib/ey-core/requests/disable_feature.rb +30 -30
- data/lib/ey-core/requests/discover_database_server.rb +66 -66
- data/lib/ey-core/requests/discover_database_server_snapshots.rb +69 -69
- data/lib/ey-core/requests/discover_provider_location.rb +57 -57
- data/lib/ey-core/requests/discover_server.rb +60 -0
- data/lib/ey-core/requests/download_file.rb +25 -25
- data/lib/ey-core/requests/enable_feature.rb +35 -35
- data/lib/ey-core/requests/get_account.rb +29 -29
- data/lib/ey-core/requests/get_account_cancellation.rb +21 -21
- data/lib/ey-core/requests/get_account_referrals.rb +28 -28
- data/lib/ey-core/requests/get_account_trial.rb +32 -32
- data/lib/ey-core/requests/get_accounts.rb +42 -42
- data/lib/ey-core/requests/get_addon.rb +25 -25
- data/lib/ey-core/requests/get_addons.rb +24 -24
- data/lib/ey-core/requests/get_address.rb +25 -25
- data/lib/ey-core/requests/get_addresses.rb +27 -27
- data/lib/ey-core/requests/get_alert.rb +21 -21
- data/lib/ey-core/requests/get_alerting_environments.rb +41 -41
- data/lib/ey-core/requests/get_alerts.rb +44 -44
- data/lib/ey-core/requests/get_api_token.rb +19 -19
- data/lib/ey-core/requests/get_application.rb +21 -21
- data/lib/ey-core/requests/get_application_archive.rb +32 -32
- data/lib/ey-core/requests/get_application_archives.rb +29 -29
- data/lib/ey-core/requests/get_application_deployment.rb +21 -21
- data/lib/ey-core/requests/get_application_deployments.rb +28 -28
- data/lib/ey-core/requests/get_applications.rb +28 -28
- data/lib/ey-core/requests/get_auto_scaling_group.rb +21 -0
- data/lib/ey-core/requests/get_auto_scaling_groups.rb +29 -0
- data/lib/ey-core/requests/get_backup_file.rb +21 -21
- data/lib/ey-core/requests/get_backup_files.rb +28 -28
- data/lib/ey-core/requests/get_billing.rb +24 -24
- data/lib/ey-core/requests/get_blueprint.rb +21 -21
- data/lib/ey-core/requests/get_blueprints.rb +29 -29
- data/lib/ey-core/requests/get_component.rb +21 -21
- data/lib/ey-core/requests/get_components.rb +29 -29
- data/lib/ey-core/requests/get_contacts.rb +34 -34
- data/lib/ey-core/requests/get_costs.rb +25 -25
- data/lib/ey-core/requests/get_current_user.rb +19 -19
- data/lib/ey-core/requests/get_database_plan_usages.rb +24 -24
- data/lib/ey-core/requests/get_database_server.rb +21 -21
- data/lib/ey-core/requests/get_database_server_revisions.rb +27 -27
- data/lib/ey-core/requests/get_database_server_snapshot.rb +20 -20
- data/lib/ey-core/requests/get_database_server_snapshots.rb +39 -39
- data/lib/ey-core/requests/get_database_server_usages.rb +24 -24
- data/lib/ey-core/requests/get_database_servers.rb +30 -30
- data/lib/ey-core/requests/get_database_servers_firewalls.rb +30 -30
- data/lib/ey-core/requests/get_database_service.rb +20 -20
- data/lib/ey-core/requests/get_database_services.rb +55 -55
- data/lib/ey-core/requests/get_deployment.rb +19 -19
- data/lib/ey-core/requests/get_deployments.rb +29 -29
- data/lib/ey-core/requests/get_environment.rb +21 -21
- data/lib/ey-core/requests/get_environment_database_services.rb +21 -21
- data/lib/ey-core/requests/get_environment_logical_databases.rb +20 -20
- data/lib/ey-core/requests/get_environment_plan_usages.rb +24 -24
- data/lib/ey-core/requests/get_environments.rb +29 -29
- data/lib/ey-core/requests/get_feature.rb +21 -21
- data/lib/ey-core/requests/get_features.rb +28 -28
- data/lib/ey-core/requests/get_firewall.rb +21 -21
- data/lib/ey-core/requests/get_firewall_rule.rb +21 -21
- data/lib/ey-core/requests/get_firewall_rules.rb +29 -29
- data/lib/ey-core/requests/get_firewalls.rb +45 -45
- data/lib/ey-core/requests/get_gem.rb +24 -24
- data/lib/ey-core/requests/get_keypair.rb +21 -21
- data/lib/ey-core/requests/get_keypair_deployment.rb +21 -21
- data/lib/ey-core/requests/get_keypair_deployments.rb +29 -29
- data/lib/ey-core/requests/get_keypairs.rb +34 -34
- data/lib/ey-core/requests/get_legacy_alert.rb +21 -21
- data/lib/ey-core/requests/get_legacy_alerts.rb +29 -29
- data/lib/ey-core/requests/get_load_balancer.rb +21 -21
- data/lib/ey-core/requests/get_load_balancer_node.rb +21 -21
- data/lib/ey-core/requests/get_load_balancer_nodes.rb +30 -30
- data/lib/ey-core/requests/get_load_balancer_service.rb +21 -21
- data/lib/ey-core/requests/get_load_balancer_services.rb +30 -30
- data/lib/ey-core/requests/get_load_balancers.rb +29 -29
- data/lib/ey-core/requests/get_log.rb +21 -21
- data/lib/ey-core/requests/get_logical_database.rb +23 -23
- data/lib/ey-core/requests/get_logical_databases.rb +36 -36
- data/lib/ey-core/requests/get_logs.rb +37 -37
- data/lib/ey-core/requests/get_membership.rb +21 -21
- data/lib/ey-core/requests/get_memberships.rb +29 -29
- data/lib/ey-core/requests/get_message.rb +28 -28
- data/lib/ey-core/requests/get_messages.rb +27 -27
- data/lib/ey-core/requests/get_metadata.rb +22 -22
- data/lib/ey-core/requests/get_operational_contact.rb +21 -21
- data/lib/ey-core/requests/get_operational_contacts.rb +20 -20
- data/lib/ey-core/requests/get_plan_usages.rb +24 -24
- data/lib/ey-core/requests/get_possible_provider_locations.rb +19 -19
- data/lib/ey-core/requests/get_provider.rb +21 -21
- data/lib/ey-core/requests/get_provider_location.rb +29 -29
- data/lib/ey-core/requests/get_provider_locations.rb +28 -28
- data/lib/ey-core/requests/get_providers.rb +28 -28
- data/lib/ey-core/requests/get_request.rb +71 -71
- data/lib/ey-core/requests/get_requests.rb +29 -29
- data/lib/ey-core/requests/get_server.rb +34 -34
- data/lib/ey-core/requests/get_server_event.rb +20 -20
- data/lib/ey-core/requests/get_server_events.rb +28 -28
- data/lib/ey-core/requests/get_server_usages.rb +24 -24
- data/lib/ey-core/requests/get_servers.rb +25 -25
- data/lib/ey-core/requests/get_ssl_certificate.rb +23 -23
- data/lib/ey-core/requests/get_ssl_certificates.rb +28 -28
- data/lib/ey-core/requests/get_storage.rb +21 -21
- data/lib/ey-core/requests/get_storage_user.rb +21 -21
- data/lib/ey-core/requests/get_storage_users.rb +28 -28
- data/lib/ey-core/requests/get_storages.rb +28 -28
- data/lib/ey-core/requests/get_support_trial.rb +51 -51
- data/lib/ey-core/requests/get_task.rb +21 -21
- data/lib/ey-core/requests/get_tasks.rb +28 -28
- data/lib/ey-core/requests/get_token.rb +21 -21
- data/lib/ey-core/requests/get_token_by_login.rb +30 -30
- data/lib/ey-core/requests/get_tokens.rb +32 -32
- data/lib/ey-core/requests/get_untracked_server.rb +18 -18
- data/lib/ey-core/requests/get_untracked_servers.rb +24 -24
- data/lib/ey-core/requests/get_user.rb +21 -21
- data/lib/ey-core/requests/get_users.rb +42 -42
- data/lib/ey-core/requests/get_volume.rb +21 -21
- data/lib/ey-core/requests/get_volumes.rb +28 -28
- data/lib/ey-core/requests/reboot_server.rb +39 -39
- data/lib/ey-core/requests/reconcile_server.rb +39 -39
- data/lib/ey-core/requests/request_callback.rb +26 -26
- data/lib/ey-core/requests/reset_password.rb +31 -31
- data/lib/ey-core/requests/reset_server_state.rb +32 -32
- data/lib/ey-core/requests/restart_environment_app_servers.rb +38 -38
- data/lib/ey-core/requests/run_cluster_application_action.rb +28 -28
- data/lib/ey-core/requests/run_environment_application_action.rb +29 -29
- data/lib/ey-core/requests/signup.rb +56 -56
- data/lib/ey-core/requests/start_server.rb +39 -39
- data/lib/ey-core/requests/stop_server.rb +39 -39
- data/lib/ey-core/requests/timeout_deployment.rb +27 -27
- data/lib/ey-core/requests/unassign_environment.rb +31 -31
- data/lib/ey-core/requests/update_addon.rb +28 -28
- data/lib/ey-core/requests/update_address.rb +29 -29
- data/lib/ey-core/requests/update_alert.rb +32 -32
- data/lib/ey-core/requests/update_application_archive.rb +23 -23
- data/lib/ey-core/requests/update_auto_scaling_group.rb +45 -0
- data/lib/ey-core/requests/update_billing.rb +26 -26
- data/lib/ey-core/requests/update_blueprint.rb +29 -29
- data/lib/ey-core/requests/update_connector.rb +32 -32
- data/lib/ey-core/requests/update_environment.rb +17 -17
- data/lib/ey-core/requests/update_membership.rb +29 -29
- data/lib/ey-core/requests/update_provider_location.rb +29 -29
- data/lib/ey-core/requests/update_server.rb +29 -29
- data/lib/ey-core/requests/update_ssl_certificate.rb +25 -25
- data/lib/ey-core/requests/update_untracked_server.rb +24 -24
- data/lib/ey-core/requests/upload_file.rb +44 -44
- data/lib/ey-core/requests/upload_recipes_for_environment.rb +28 -28
- data/lib/ey-core/response.rb +59 -59
- data/lib/ey-core/response_cache.rb +29 -29
- data/lib/ey-core/subscribable.rb +60 -60
- data/lib/ey-core/test_helpers/account_helpers.rb +73 -73
- data/lib/ey-core/test_helpers/alert_helpers.rb +16 -16
- data/lib/ey-core/test_helpers/client_helpers.rb +40 -40
- data/lib/ey-core/test_helpers/cucumber.rb +3 -3
- data/lib/ey-core/test_helpers/resource_helpers.rb +196 -196
- data/lib/ey-core/test_helpers/rspec.rb +5 -5
- data/lib/ey-core/test_helpers.rb +15 -15
- data/lib/ey-core/token_authentication.rb +13 -13
- data/lib/ey-core/version.rb +5 -5
- data/lib/ey-core.rb +59 -59
- data/spec/account_spec.rb +65 -65
- data/spec/account_trial_spec.rb +17 -17
- data/spec/accounts_referrals_spec.rb +20 -20
- data/spec/accounts_spec.rb +113 -113
- data/spec/addons_and_vars_spec.rb +62 -62
- data/spec/addresses_spec.rb +56 -56
- data/spec/alerts_spec.rb +155 -155
- data/spec/application_archives_spec.rb +39 -39
- data/spec/applications_spec.rb +65 -65
- data/spec/auto_scaling_groups_spec.rb +28 -0
- data/spec/billing_spec.rb +31 -31
- data/spec/blueprints_spec.rb +47 -47
- data/spec/client_spec.rb +16 -16
- data/spec/collection_spec.rb +43 -43
- data/spec/costs_spec.rb +22 -22
- data/spec/database_plan_usage_spec.rb +39 -39
- data/spec/database_server_snapshots_spec.rb +41 -41
- data/spec/database_server_usage_spec.rb +49 -49
- data/spec/database_servers_spec.rb +61 -61
- data/spec/database_services_spec.rb +76 -76
- data/spec/deployments_spec.rb +24 -24
- data/spec/environment_plan_usage_spec.rb +38 -38
- data/spec/environments_spec.rb +212 -194
- data/spec/ey-core/cli/accounts_spec.rb +20 -20
- data/spec/ey-core/cli/helpers/server_sieve_spec.rb +226 -226
- data/spec/ey-core/cli/recipes/apply_spec.rb +34 -34
- data/spec/ey-core/cli/recipes/download_spec.rb +93 -93
- data/spec/ey-core/cli/recipes/upload_spec.rb +80 -80
- data/spec/features_spec.rb +79 -79
- data/spec/firewalls_spec.rb +84 -84
- data/spec/gems_spec.rb +11 -11
- data/spec/keypair_deployments_spec.rb +33 -33
- data/spec/keypairs_spec.rb +51 -51
- data/spec/legacy_alerts_spec.rb +44 -44
- data/spec/load_balancers_spec.rb +31 -31
- data/spec/logical_databases_spec.rb +38 -38
- data/spec/logs_spec.rb +44 -44
- data/spec/memberships_spec.rb +73 -73
- data/spec/messages_spec.rb +27 -27
- data/spec/metadata_spec.rb +11 -11
- data/spec/plan_usage_spec.rb +65 -65
- data/spec/provider_locations_spec.rb +85 -85
- data/spec/providers_spec.rb +105 -105
- data/spec/requests/upload_file_spec.rb +25 -25
- data/spec/requests_spec.rb +23 -23
- data/spec/reset_password_spec.rb +22 -22
- data/spec/server_events_spec.rb +31 -31
- data/spec/server_usage_spec.rb +70 -70
- data/spec/servers_spec.rb +202 -194
- data/spec/services_spec.rb +9 -9
- data/spec/signups_spec.rb +45 -45
- data/spec/spec_helper.rb +20 -20
- data/spec/ssl_certificates_spec.rb +94 -94
- data/spec/storages_spec.rb +57 -57
- data/spec/support/cli_helpers.rb +47 -47
- data/spec/support/core.rb +23 -23
- data/spec/support/coverage.rb +43 -43
- data/spec/support/fake_kernel.rb +21 -21
- data/spec/support/helpers.rb +1 -1
- data/spec/support/timecop.rb +8 -8
- data/spec/support_trial_spec.rb +33 -33
- data/spec/tokens_spec.rb +59 -59
- data/spec/untracked_servers_spec.rb +59 -59
- data/spec/users_spec.rb +108 -108
- metadata +16 -5
@@ -1,76 +1,76 @@
|
|
1
|
-
module Ey
|
2
|
-
module Core
|
3
|
-
module Cli
|
4
|
-
module Helpers
|
5
|
-
class ServerSieve
|
6
|
-
ROLES = [
|
7
|
-
:app_servers,
|
8
|
-
:db_servers,
|
9
|
-
:db_master,
|
10
|
-
:utilities
|
11
|
-
]
|
12
|
-
|
13
|
-
attr_reader :servers_api, :options
|
14
|
-
|
15
|
-
def self.filter(servers_api, options = {})
|
16
|
-
new(servers_api, options).filtered
|
17
|
-
end
|
18
|
-
|
19
|
-
def initialize(servers_api, options = {})
|
20
|
-
@servers_api = servers_api
|
21
|
-
@options = options
|
22
|
-
end
|
23
|
-
|
24
|
-
def filtered
|
25
|
-
return all_servers if requested?(:all)
|
26
|
-
|
27
|
-
requested_roles.map {|role|
|
28
|
-
role == :utilities ? utils_named(option(:utilities)) : send(role)
|
29
|
-
}.flatten.uniq
|
30
|
-
end
|
31
|
-
|
32
|
-
private
|
33
|
-
def requested_roles
|
34
|
-
#self.class::
|
35
|
-
ROLES.select {|role| requested?(role)}
|
36
|
-
end
|
37
|
-
|
38
|
-
def option(name)
|
39
|
-
options[name]
|
40
|
-
end
|
41
|
-
|
42
|
-
def requested?(name)
|
43
|
-
option(name)
|
44
|
-
end
|
45
|
-
|
46
|
-
def all_servers
|
47
|
-
servers_api.all.to_a.uniq
|
48
|
-
end
|
49
|
-
|
50
|
-
def app_servers
|
51
|
-
['app_master', 'app', 'solo'].
|
52
|
-
map {|role| servers_api.all(role: role).to_a}.
|
53
|
-
flatten
|
54
|
-
end
|
55
|
-
|
56
|
-
def db_servers
|
57
|
-
db_master + servers_api.all(role: 'db_slave').to_a
|
58
|
-
end
|
59
|
-
|
60
|
-
def db_master
|
61
|
-
['db_master', 'solo'].
|
62
|
-
map {|role| servers_api.all(role: role).to_a}.
|
63
|
-
flatten
|
64
|
-
end
|
65
|
-
|
66
|
-
def utils_named(name)
|
67
|
-
filter = {role: 'util'}
|
68
|
-
filter[:name] = name unless name.downcase == 'all'
|
69
|
-
|
70
|
-
servers_api.all(filter).to_a
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
1
|
+
module Ey
|
2
|
+
module Core
|
3
|
+
module Cli
|
4
|
+
module Helpers
|
5
|
+
class ServerSieve
|
6
|
+
ROLES = [
|
7
|
+
:app_servers,
|
8
|
+
:db_servers,
|
9
|
+
:db_master,
|
10
|
+
:utilities
|
11
|
+
]
|
12
|
+
|
13
|
+
attr_reader :servers_api, :options
|
14
|
+
|
15
|
+
def self.filter(servers_api, options = {})
|
16
|
+
new(servers_api, options).filtered
|
17
|
+
end
|
18
|
+
|
19
|
+
def initialize(servers_api, options = {})
|
20
|
+
@servers_api = servers_api
|
21
|
+
@options = options
|
22
|
+
end
|
23
|
+
|
24
|
+
def filtered
|
25
|
+
return all_servers if requested?(:all)
|
26
|
+
|
27
|
+
requested_roles.map {|role|
|
28
|
+
role == :utilities ? utils_named(option(:utilities)) : send(role)
|
29
|
+
}.flatten.uniq
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
def requested_roles
|
34
|
+
#self.class::
|
35
|
+
ROLES.select {|role| requested?(role)}
|
36
|
+
end
|
37
|
+
|
38
|
+
def option(name)
|
39
|
+
options[name]
|
40
|
+
end
|
41
|
+
|
42
|
+
def requested?(name)
|
43
|
+
option(name)
|
44
|
+
end
|
45
|
+
|
46
|
+
def all_servers
|
47
|
+
servers_api.all.to_a.uniq
|
48
|
+
end
|
49
|
+
|
50
|
+
def app_servers
|
51
|
+
['app_master', 'app', 'solo'].
|
52
|
+
map {|role| servers_api.all(role: role).to_a}.
|
53
|
+
flatten
|
54
|
+
end
|
55
|
+
|
56
|
+
def db_servers
|
57
|
+
db_master + servers_api.all(role: 'db_slave').to_a
|
58
|
+
end
|
59
|
+
|
60
|
+
def db_master
|
61
|
+
['db_master', 'solo'].
|
62
|
+
map {|role| servers_api.all(role: role).to_a}.
|
63
|
+
flatten
|
64
|
+
end
|
65
|
+
|
66
|
+
def utils_named(name)
|
67
|
+
filter = {role: 'util'}
|
68
|
+
filter[:name] = name unless name.downcase == 'all'
|
69
|
+
|
70
|
+
servers_api.all(filter).to_a
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -1,42 +1,42 @@
|
|
1
|
-
module Ey
|
2
|
-
module Core
|
3
|
-
module Cli
|
4
|
-
module Helpers
|
5
|
-
module StreamPrinter
|
6
|
-
|
7
|
-
def stream_print(opts)
|
8
|
-
yield Printer.new(opts)
|
9
|
-
end
|
10
|
-
|
11
|
-
class Printer
|
12
|
-
def initialize(rows = {})
|
13
|
-
@rows = rows
|
14
|
-
end
|
15
|
-
def print(*vals)
|
16
|
-
unless @header_printed
|
17
|
-
header = []
|
18
|
-
separator = []
|
19
|
-
@rows.each do |k,v|
|
20
|
-
header << format(k, v)
|
21
|
-
separator << '-' * v
|
22
|
-
end
|
23
|
-
puts header.join("| ")
|
24
|
-
puts separator.join("|-")
|
25
|
-
@header_printed = true
|
26
|
-
end
|
27
|
-
line = []
|
28
|
-
vals.each_with_index do |v,index|
|
29
|
-
line << format(v, @rows.values[index])
|
30
|
-
end
|
31
|
-
puts line.join("| ")
|
32
|
-
end
|
33
|
-
def format(value, width)
|
34
|
-
TablePrint::FixedWidthFormatter.new(width).format(value)
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
1
|
+
module Ey
|
2
|
+
module Core
|
3
|
+
module Cli
|
4
|
+
module Helpers
|
5
|
+
module StreamPrinter
|
6
|
+
|
7
|
+
def stream_print(opts)
|
8
|
+
yield Printer.new(opts)
|
9
|
+
end
|
10
|
+
|
11
|
+
class Printer
|
12
|
+
def initialize(rows = {})
|
13
|
+
@rows = rows
|
14
|
+
end
|
15
|
+
def print(*vals)
|
16
|
+
unless @header_printed
|
17
|
+
header = []
|
18
|
+
separator = []
|
19
|
+
@rows.each do |k,v|
|
20
|
+
header << format(k, v)
|
21
|
+
separator << '-' * v
|
22
|
+
end
|
23
|
+
puts header.join("| ")
|
24
|
+
puts separator.join("|-")
|
25
|
+
@header_printed = true
|
26
|
+
end
|
27
|
+
line = []
|
28
|
+
vals.each_with_index do |v,index|
|
29
|
+
line << format(v, @rows.values[index])
|
30
|
+
end
|
31
|
+
puts line.join("| ")
|
32
|
+
end
|
33
|
+
def format(value, width)
|
34
|
+
TablePrint::FixedWidthFormatter.new(width).format(value)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
data/lib/ey-core/cli/init.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
|
-
require 'ey-core/cli/subcommand'
|
2
|
-
require 'ey-core/cli/helpers/deprecated'
|
3
|
-
|
4
|
-
module Ey
|
5
|
-
module Core
|
6
|
-
module Cli
|
7
|
-
class Init < Subcommand
|
8
|
-
include Helpers::Deprecated
|
9
|
-
|
10
|
-
deprecate('init')
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
1
|
+
require 'ey-core/cli/subcommand'
|
2
|
+
require 'ey-core/cli/helpers/deprecated'
|
3
|
+
|
4
|
+
module Ey
|
5
|
+
module Core
|
6
|
+
module Cli
|
7
|
+
class Init < Subcommand
|
8
|
+
include Helpers::Deprecated
|
9
|
+
|
10
|
+
deprecate('init')
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
data/lib/ey-core/cli/login.rb
CHANGED
@@ -1,38 +1,38 @@
|
|
1
|
-
require 'ey-core/cli/subcommand'
|
2
|
-
|
3
|
-
module Ey
|
4
|
-
module Core
|
5
|
-
module Cli
|
6
|
-
class Login < Subcommand
|
7
|
-
title "login"
|
8
|
-
summary "Retrieve API token from Engine Yard Cloud"
|
9
|
-
|
10
|
-
def handle
|
11
|
-
email = ENV["EMAIL"] || ask("Email: ")
|
12
|
-
password = ENV["PASSWORD"] || ask("Password: ") { |q| q.echo = false }
|
13
|
-
|
14
|
-
token = unauthenticated_core_client.
|
15
|
-
get_api_token(email, password).
|
16
|
-
body["api_token"]
|
17
|
-
|
18
|
-
existing_token = core_yaml[core_url]
|
19
|
-
write_token= if existing_token && existing_token != token
|
20
|
-
puts "New token does not match existing token. Overwriting".yellow
|
21
|
-
true
|
22
|
-
elsif existing_token == token
|
23
|
-
puts "Token already exists".green
|
24
|
-
false
|
25
|
-
else
|
26
|
-
puts "Writing token".green
|
27
|
-
true
|
28
|
-
end
|
29
|
-
|
30
|
-
write_core_yaml(token) if write_token
|
31
|
-
|
32
|
-
rescue Ey::Core::Response::Unauthorized
|
33
|
-
abort "Invalid email or password".yellow
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
1
|
+
require 'ey-core/cli/subcommand'
|
2
|
+
|
3
|
+
module Ey
|
4
|
+
module Core
|
5
|
+
module Cli
|
6
|
+
class Login < Subcommand
|
7
|
+
title "login"
|
8
|
+
summary "Retrieve API token from Engine Yard Cloud"
|
9
|
+
|
10
|
+
def handle
|
11
|
+
email = ENV["EMAIL"] || ask("Email: ")
|
12
|
+
password = ENV["PASSWORD"] || ask("Password: ") { |q| q.echo = false }
|
13
|
+
|
14
|
+
token = unauthenticated_core_client.
|
15
|
+
get_api_token(email, password).
|
16
|
+
body["api_token"]
|
17
|
+
|
18
|
+
existing_token = core_yaml[core_url]
|
19
|
+
write_token= if existing_token && existing_token != token
|
20
|
+
puts "New token does not match existing token. Overwriting".yellow
|
21
|
+
true
|
22
|
+
elsif existing_token == token
|
23
|
+
puts "Token already exists".green
|
24
|
+
false
|
25
|
+
else
|
26
|
+
puts "Writing token".green
|
27
|
+
true
|
28
|
+
end
|
29
|
+
|
30
|
+
write_core_yaml(token) if write_token
|
31
|
+
|
32
|
+
rescue Ey::Core::Response::Unauthorized
|
33
|
+
abort "Invalid email or password".yellow
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
data/lib/ey-core/cli/logout.rb
CHANGED
@@ -1,22 +1,22 @@
|
|
1
|
-
require 'ey-core/cli/subcommand'
|
2
|
-
|
3
|
-
module Ey
|
4
|
-
module Core
|
5
|
-
module Cli
|
6
|
-
class Logout < Subcommand
|
7
|
-
title "logout"
|
8
|
-
summary "Remove your Engine Yard API token"
|
9
|
-
|
10
|
-
def handle
|
11
|
-
if core_yaml[core_url]
|
12
|
-
core_yaml.delete(core_url)
|
13
|
-
write_core_yaml
|
14
|
-
puts "Successfully removed API token from credentials file".green
|
15
|
-
else
|
16
|
-
puts "No API token found".yellow
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
1
|
+
require 'ey-core/cli/subcommand'
|
2
|
+
|
3
|
+
module Ey
|
4
|
+
module Core
|
5
|
+
module Cli
|
6
|
+
class Logout < Subcommand
|
7
|
+
title "logout"
|
8
|
+
summary "Remove your Engine Yard API token"
|
9
|
+
|
10
|
+
def handle
|
11
|
+
if core_yaml[core_url]
|
12
|
+
core_yaml.delete(core_url)
|
13
|
+
write_core_yaml
|
14
|
+
puts "Successfully removed API token from credentials file".green
|
15
|
+
else
|
16
|
+
puts "No API token found".yellow
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/ey-core/cli/logs.rb
CHANGED
@@ -1,70 +1,70 @@
|
|
1
|
-
require 'ey-core/cli/subcommand'
|
2
|
-
|
3
|
-
module Ey
|
4
|
-
module Core
|
5
|
-
module Cli
|
6
|
-
class Logs < Subcommand
|
7
|
-
title "logs"
|
8
|
-
summary "Retrieve the latest logs for an environment"
|
9
|
-
description <<-DESC
|
10
|
-
Displays Engine Yard configuration logs for all servers in the environment. If
|
11
|
-
recipes were uploaded to the environment & run, their logs will also be
|
12
|
-
displayed beneath the main configuration logs.
|
13
|
-
DESC
|
14
|
-
|
15
|
-
option :environment,
|
16
|
-
short: "e",
|
17
|
-
long: "environment",
|
18
|
-
description: "Name or id of the environment to deploy to.",
|
19
|
-
argument: "Environment"
|
20
|
-
|
21
|
-
option :account,
|
22
|
-
short: 'c',
|
23
|
-
long: 'account',
|
24
|
-
description: 'Name or ID of the account that the environment resides in. If no account is specified, the app will deploy to the first environment that meets the criteria, in the accounts you have access to.',
|
25
|
-
argument: 'Account name or id'
|
26
|
-
|
27
|
-
option :server,
|
28
|
-
short: 's',
|
29
|
-
long: 'server',
|
30
|
-
description: "Only retrieve logs for the specified server",
|
31
|
-
argument: "id or amazon_id"
|
32
|
-
|
33
|
-
def handle
|
34
|
-
operator, environment = core_operator_and_environment_for(options)
|
35
|
-
abort "Unable to find matching environment".red unless environment
|
36
|
-
|
37
|
-
servers = if option(:server)
|
38
|
-
if option(:server).match(/i-/)
|
39
|
-
environment.servers.all(provisioned_id: option(:server))
|
40
|
-
else
|
41
|
-
[environment.servers.get(option(:server))].compact
|
42
|
-
end
|
43
|
-
else
|
44
|
-
environment.servers.all
|
45
|
-
end
|
46
|
-
|
47
|
-
abort "No servers found".red if servers.empty?
|
48
|
-
|
49
|
-
servers.each do |server|
|
50
|
-
name = [server.provisioned_id, server.name, server.role].compact.join(" ")
|
51
|
-
|
52
|
-
if main_log = server.latest_main_log
|
53
|
-
puts "Main logs for #{name}:".green
|
54
|
-
puts main_log.contents
|
55
|
-
if custom_log = server.latest_custom_log
|
56
|
-
#only older stack versions will have custom logs at all, so to avoid showing in-accurate logs, ensure the latest custom log is created (run) chronologically after the latest main log
|
57
|
-
if main_log.created_at < custom_log.created_at
|
58
|
-
puts "Custom logs for #{name}:".green
|
59
|
-
puts custom_log.contents
|
60
|
-
end
|
61
|
-
end
|
62
|
-
else
|
63
|
-
puts "No Logs".yellow
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
1
|
+
require 'ey-core/cli/subcommand'
|
2
|
+
|
3
|
+
module Ey
|
4
|
+
module Core
|
5
|
+
module Cli
|
6
|
+
class Logs < Subcommand
|
7
|
+
title "logs"
|
8
|
+
summary "Retrieve the latest logs for an environment"
|
9
|
+
description <<-DESC
|
10
|
+
Displays Engine Yard configuration logs for all servers in the environment. If
|
11
|
+
recipes were uploaded to the environment & run, their logs will also be
|
12
|
+
displayed beneath the main configuration logs.
|
13
|
+
DESC
|
14
|
+
|
15
|
+
option :environment,
|
16
|
+
short: "e",
|
17
|
+
long: "environment",
|
18
|
+
description: "Name or id of the environment to deploy to.",
|
19
|
+
argument: "Environment"
|
20
|
+
|
21
|
+
option :account,
|
22
|
+
short: 'c',
|
23
|
+
long: 'account',
|
24
|
+
description: 'Name or ID of the account that the environment resides in. If no account is specified, the app will deploy to the first environment that meets the criteria, in the accounts you have access to.',
|
25
|
+
argument: 'Account name or id'
|
26
|
+
|
27
|
+
option :server,
|
28
|
+
short: 's',
|
29
|
+
long: 'server',
|
30
|
+
description: "Only retrieve logs for the specified server",
|
31
|
+
argument: "id or amazon_id"
|
32
|
+
|
33
|
+
def handle
|
34
|
+
operator, environment = core_operator_and_environment_for(options)
|
35
|
+
abort "Unable to find matching environment".red unless environment
|
36
|
+
|
37
|
+
servers = if option(:server)
|
38
|
+
if option(:server).match(/i-/)
|
39
|
+
environment.servers.all(provisioned_id: option(:server))
|
40
|
+
else
|
41
|
+
[environment.servers.get(option(:server))].compact
|
42
|
+
end
|
43
|
+
else
|
44
|
+
environment.servers.all
|
45
|
+
end
|
46
|
+
|
47
|
+
abort "No servers found".red if servers.empty?
|
48
|
+
|
49
|
+
servers.each do |server|
|
50
|
+
name = [server.provisioned_id, server.name, server.role].compact.join(" ")
|
51
|
+
|
52
|
+
if main_log = server.latest_main_log
|
53
|
+
puts "Main logs for #{name}:".green
|
54
|
+
puts main_log.contents
|
55
|
+
if custom_log = server.latest_custom_log
|
56
|
+
#only older stack versions will have custom logs at all, so to avoid showing in-accurate logs, ensure the latest custom log is created (run) chronologically after the latest main log
|
57
|
+
if main_log.created_at < custom_log.created_at
|
58
|
+
puts "Custom logs for #{name}:".green
|
59
|
+
puts custom_log.contents
|
60
|
+
end
|
61
|
+
end
|
62
|
+
else
|
63
|
+
puts "No Logs".yellow
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
data/lib/ey-core/cli/main.rb
CHANGED
@@ -1,65 +1,65 @@
|
|
1
|
-
#require 'optparse'
|
2
|
-
#require 'ostruct'
|
3
|
-
#require 'ey-core'
|
4
|
-
require 'ey-core/cli'
|
5
|
-
require 'awesome_print'
|
6
|
-
require 'belafonte'
|
7
|
-
require 'rubygems/package'
|
8
|
-
require 'escape'
|
9
|
-
require 'highline/import'
|
10
|
-
|
11
|
-
require 'ey-core/cli/accounts'
|
12
|
-
require 'ey-core/cli/applications'
|
13
|
-
require 'ey-core/cli/console'
|
14
|
-
require 'ey-core/cli/current_user'
|
15
|
-
require 'ey-core/cli/deploy'
|
16
|
-
require 'ey-core/cli/environments'
|
17
|
-
require 'ey-core/cli/help'
|
18
|
-
require 'ey-core/cli/init'
|
19
|
-
require 'ey-core/cli/login'
|
20
|
-
require 'ey-core/cli/logout'
|
21
|
-
require 'ey-core/cli/logs'
|
22
|
-
require 'ey-core/cli/recipes'
|
23
|
-
require 'ey-core/cli/scp'
|
24
|
-
require 'ey-core/cli/servers'
|
25
|
-
require 'ey-core/cli/ssh'
|
26
|
-
require 'ey-core/cli/status'
|
27
|
-
require 'ey-core/cli/timeout_deploy'
|
28
|
-
require 'ey-core/cli/version'
|
29
|
-
require 'ey-core/cli/web'
|
30
|
-
require 'ey-core/cli/whoami'
|
31
|
-
|
32
|
-
Cistern.formatter = Cistern::Formatter::AwesomePrint
|
33
|
-
|
34
|
-
|
35
|
-
module Ey
|
36
|
-
module Core
|
37
|
-
module Cli
|
38
|
-
class Main < Belafonte::App
|
39
|
-
title "Engineyard CLI"
|
40
|
-
summary "Successor to the engineyard gem"
|
41
|
-
|
42
|
-
mount Accounts
|
43
|
-
mount Applications
|
44
|
-
mount Console
|
45
|
-
mount CurrentUser
|
46
|
-
mount Deploy
|
47
|
-
mount Environments
|
48
|
-
mount Help
|
49
|
-
mount Init
|
50
|
-
mount Login
|
51
|
-
mount Logout
|
52
|
-
mount Logs
|
53
|
-
mount Recipes::Main
|
54
|
-
mount Scp
|
55
|
-
mount Servers
|
56
|
-
mount Ssh
|
57
|
-
mount Status
|
58
|
-
mount TimeoutDeploy
|
59
|
-
mount Version
|
60
|
-
mount Web::Main
|
61
|
-
mount Whoami
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
1
|
+
#require 'optparse'
|
2
|
+
#require 'ostruct'
|
3
|
+
#require 'ey-core'
|
4
|
+
require 'ey-core/cli'
|
5
|
+
require 'awesome_print'
|
6
|
+
require 'belafonte'
|
7
|
+
require 'rubygems/package'
|
8
|
+
require 'escape'
|
9
|
+
require 'highline/import'
|
10
|
+
|
11
|
+
require 'ey-core/cli/accounts'
|
12
|
+
require 'ey-core/cli/applications'
|
13
|
+
require 'ey-core/cli/console'
|
14
|
+
require 'ey-core/cli/current_user'
|
15
|
+
require 'ey-core/cli/deploy'
|
16
|
+
require 'ey-core/cli/environments'
|
17
|
+
require 'ey-core/cli/help'
|
18
|
+
require 'ey-core/cli/init'
|
19
|
+
require 'ey-core/cli/login'
|
20
|
+
require 'ey-core/cli/logout'
|
21
|
+
require 'ey-core/cli/logs'
|
22
|
+
require 'ey-core/cli/recipes'
|
23
|
+
require 'ey-core/cli/scp'
|
24
|
+
require 'ey-core/cli/servers'
|
25
|
+
require 'ey-core/cli/ssh'
|
26
|
+
require 'ey-core/cli/status'
|
27
|
+
require 'ey-core/cli/timeout_deploy'
|
28
|
+
require 'ey-core/cli/version'
|
29
|
+
require 'ey-core/cli/web'
|
30
|
+
require 'ey-core/cli/whoami'
|
31
|
+
|
32
|
+
Cistern.formatter = Cistern::Formatter::AwesomePrint
|
33
|
+
|
34
|
+
|
35
|
+
module Ey
|
36
|
+
module Core
|
37
|
+
module Cli
|
38
|
+
class Main < Belafonte::App
|
39
|
+
title "Engineyard CLI"
|
40
|
+
summary "Successor to the engineyard gem"
|
41
|
+
|
42
|
+
mount Accounts
|
43
|
+
mount Applications
|
44
|
+
mount Console
|
45
|
+
mount CurrentUser
|
46
|
+
mount Deploy
|
47
|
+
mount Environments
|
48
|
+
mount Help
|
49
|
+
mount Init
|
50
|
+
mount Login
|
51
|
+
mount Logout
|
52
|
+
mount Logs
|
53
|
+
mount Recipes::Main
|
54
|
+
mount Scp
|
55
|
+
mount Servers
|
56
|
+
mount Ssh
|
57
|
+
mount Status
|
58
|
+
mount TimeoutDeploy
|
59
|
+
mount Version
|
60
|
+
mount Web::Main
|
61
|
+
mount Whoami
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|