ey-core 3.6.4 → 3.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +23 -23
- data/.ruby-gemset +1 -1
- data/.ruby-version +1 -1
- data/.travis.yml +23 -23
- data/CHANGELOG.md +189 -189
- data/Gemfile +26 -20
- data/Guardfile +15 -15
- data/LICENSE.txt +19 -19
- data/README.md +135 -135
- data/Rakefile +18 -18
- data/bin/ey-core +4 -4
- data/docs/development.md +6 -0
- 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 +52 -52
- data/features/accounts.feature +13 -13
- data/features/applications.feature +29 -29
- data/features/current_user.feature +14 -14
- data/features/docker_registry_credentials.feature +21 -21
- data/features/environment_variables.feature +54 -54
- 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 +37 -37
- data/features/step_definitions/applications_steps.rb +39 -39
- data/features/step_definitions/current_user_steps.rb +11 -11
- data/features/step_definitions/deprecated_command_steps.rb +3 -3
- data/features/step_definitions/docker_registry_credentials_steps.rb +3 -3
- data/features/step_definitions/environment_variables_steps.rb +51 -51
- data/features/step_definitions/environments_steps.rb +52 -52
- 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/environment_variable_helpers.rb +20 -20
- data/features/support/fake_kernel.rb +23 -23
- data/features/support/io.rb +5 -5
- data/features/support/mock_api.rb +20 -20
- data/features/support/output_helpers.rb +7 -7
- data/features/support/resource_helpers.rb +201 -201
- 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 +126 -126
- data/lib/ey-core/cli/docker_registry_login.rb +29 -29
- data/lib/ey-core/cli/environment_variables.rb +71 -71
- 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 +225 -225
- 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 +83 -83
- 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 +66 -66
- 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 +59 -59
- data/lib/ey-core/cli/ssh.rb +156 -156
- 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 +306 -306
- data/lib/ey-core/client/real.rb +93 -93
- data/lib/ey-core/client.rb +469 -469
- 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_alarms.rb +8 -8
- data/lib/ey-core/collections/auto_scaling_groups.rb +8 -8
- data/lib/ey-core/collections/auto_scaling_policies.rb +33 -33
- 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/container_clusters.rb +9 -9
- data/lib/ey-core/collections/container_service_deployments.rb +17 -17
- 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/environment_variables.rb +8 -8
- 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 -13
- 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 +80 -80
- 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 +59 -59
- data/lib/ey-core/models/alert.rb +99 -99
- data/lib/ey-core/models/application.rb +33 -33
- 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_alarm.rb +54 -54
- data/lib/ey-core/models/auto_scaling_group.rb +75 -75
- data/lib/ey-core/models/backup_file.rb +52 -52
- data/lib/ey-core/models/base_auto_scaling_policy.rb +61 -61
- 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/container_service_deployment.rb +17 -17
- 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 +31 -31
- data/lib/ey-core/models/environment.rb +248 -248
- data/lib/ey-core/models/environment_plan_usage.rb +10 -10
- data/lib/ey-core/models/environment_variable.rb +29 -29
- 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 +109 -109
- data/lib/ey-core/models/server.rb +151 -151
- 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/simple_auto_scaling_policy.rb +24 -24
- data/lib/ey-core/models/ssl_certificate.rb +44 -44
- data/lib/ey-core/models/step_auto_scaling_policy.rb +24 -24
- 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/target_auto_scaling_policy.rb +24 -24
- 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 +38 -38
- data/lib/ey-core/requests/create_addon.rb +35 -35
- data/lib/ey-core/requests/create_address.rb +54 -54
- data/lib/ey-core/requests/create_alert.rb +63 -63
- data/lib/ey-core/requests/create_application.rb +73 -73
- data/lib/ey-core/requests/create_application_archive.rb +44 -44
- data/lib/ey-core/requests/create_auto_scaling_alarm.rb +69 -69
- data/lib/ey-core/requests/create_auto_scaling_group.rb +62 -62
- data/lib/ey-core/requests/create_auto_scaling_policy.rb +68 -68
- 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 +77 -77
- data/lib/ey-core/requests/create_environment_variable.rb +39 -39
- 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 +54 -54
- data/lib/ey-core/requests/deploy_environment_application.rb +61 -61
- 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_alarm.rb +49 -49
- data/lib/ey-core/requests/destroy_auto_scaling_group.rb +44 -44
- data/lib/ey-core/requests/destroy_auto_scaling_policy.rb +49 -49
- 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_container_service_deployments.rb +71 -71
- 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 -60
- 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_alarm.rb +27 -27
- data/lib/ey-core/requests/get_auto_scaling_alarms.rb +34 -34
- data/lib/ey-core/requests/get_auto_scaling_group.rb +21 -21
- data/lib/ey-core/requests/get_auto_scaling_groups.rb +29 -29
- data/lib/ey-core/requests/get_auto_scaling_policies.rb +46 -46
- data/lib/ey-core/requests/get_auto_scaling_policy.rb +27 -27
- 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_environment_variable.rb +19 -19
- data/lib/ey-core/requests/get_environment_variables.rb +29 -29
- 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/retrieve_docker_registry_credentials.rb +24 -24
- 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_alarm.rb +45 -45
- data/lib/ey-core/requests/update_auto_scaling_group.rb +45 -45
- data/lib/ey-core/requests/update_auto_scaling_policy.rb +46 -46
- 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_environment_variable.rb +25 -25
- 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/auto_scaling_helpers.rb +35 -35
- 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 +17 -17
- 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 +57 -57
- 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_alarms_spec.rb +40 -40
- data/spec/auto_scaling_groups_spec.rb +28 -28
- data/spec/auto_scaling_policies_spec.rb +94 -94
- 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/docker_registry_credentials_spec.rb +16 -16
- data/spec/environment_plan_usage_spec.rb +38 -38
- data/spec/environments_spec.rb +212 -212
- 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 -202
- data/spec/services_spec.rb +9 -9
- data/spec/signups_spec.rb +45 -45
- data/spec/spec_helper.rb +27 -27
- 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 +21 -21
- 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 +4 -3
data/examples/console/address.md
CHANGED
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
# IP Addresses
|
|
2
|
-
|
|
3
|
-
It's advised for each operation to capture the request via an *<operation>_prov_req* variable, which will hold the operation's status. The snippets below just wait for the request to finish (or timeout in 300sec), but the progress can be tracked issuing `<operation>_prov_req.reload` regularly.
|
|
4
|
-
|
|
5
|
-
-
|
|
6
|
-
|
|
7
|
-
<a name="list-addresses-on-an-account"></a>
|
|
8
|
-
### List IPs addresses allocated to an account
|
|
9
|
-
|
|
10
|
-
```
|
|
11
|
-
addresses
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
|
|
16
|
-
<a name="provision-new-address"></a>
|
|
17
|
-
### Provision a new IP address on the account
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
new_address_specs = {:provider_id => "23952", :location => "us-east-1"}
|
|
21
|
-
address_prov_req = addresses.create(new_eip_specs)
|
|
22
|
-
address_prov_req.ready!(300)
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
|
|
27
|
-
<a name="attach-address-to-instance"></a>
|
|
28
|
-
### Attach an address to an instance
|
|
29
|
-
|
|
30
|
-
```
|
|
31
|
-
addresses
|
|
32
|
-
address = addresses.first(ip_address: "111.222.333.444")
|
|
33
|
-
attach_prov_req = address.attach(servers.first(provisioned_id: "i-aabbccdd"))
|
|
34
|
-
attach_prov_req.ready!(300)
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
-
|
|
38
|
-
|
|
39
|
-
<a name="detach-address-from-instance"></a>
|
|
40
|
-
### Detach an address from an instance
|
|
41
|
-
|
|
42
|
-
```
|
|
43
|
-
addresses
|
|
44
|
-
eip = addresses.first(ip_address: "111.222.333.444")
|
|
45
|
-
detach_prov_req = eip.detach
|
|
46
|
-
detach_prov_req.ready!(300)
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
-
|
|
50
|
-
|
|
51
|
-
|
|
1
|
+
# IP Addresses
|
|
2
|
+
|
|
3
|
+
It's advised for each operation to capture the request via an *<operation>_prov_req* variable, which will hold the operation's status. The snippets below just wait for the request to finish (or timeout in 300sec), but the progress can be tracked issuing `<operation>_prov_req.reload` regularly.
|
|
4
|
+
|
|
5
|
+
-
|
|
6
|
+
|
|
7
|
+
<a name="list-addresses-on-an-account"></a>
|
|
8
|
+
### List IPs addresses allocated to an account
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
addresses
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
-
|
|
15
|
+
|
|
16
|
+
<a name="provision-new-address"></a>
|
|
17
|
+
### Provision a new IP address on the account
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
new_address_specs = {:provider_id => "23952", :location => "us-east-1"}
|
|
21
|
+
address_prov_req = addresses.create(new_eip_specs)
|
|
22
|
+
address_prov_req.ready!(300)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
-
|
|
26
|
+
|
|
27
|
+
<a name="attach-address-to-instance"></a>
|
|
28
|
+
### Attach an address to an instance
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
addresses
|
|
32
|
+
address = addresses.first(ip_address: "111.222.333.444")
|
|
33
|
+
attach_prov_req = address.attach(servers.first(provisioned_id: "i-aabbccdd"))
|
|
34
|
+
attach_prov_req.ready!(300)
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
-
|
|
38
|
+
|
|
39
|
+
<a name="detach-address-from-instance"></a>
|
|
40
|
+
### Detach an address from an instance
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
addresses
|
|
44
|
+
eip = addresses.first(ip_address: "111.222.333.444")
|
|
45
|
+
detach_prov_req = eip.detach
|
|
46
|
+
detach_prov_req.ready!(300)
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
-
|
|
50
|
+
|
|
51
|
+
|
data/examples/stop_env.rb
CHANGED
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
|
|
3
|
-
# Very basic example of how to stop a given environment.
|
|
4
|
-
# For more info visit http://developer.engineyard.com
|
|
5
|
-
|
|
6
|
-
require 'ey-core'
|
|
7
|
-
require 'optparse'
|
|
8
|
-
require 'yaml'
|
|
9
|
-
|
|
10
|
-
options = {}
|
|
11
|
-
OptionParser.new do |opts|
|
|
12
|
-
opts.banner = "Usage: stop_env.rb [options]"
|
|
13
|
-
|
|
14
|
-
opts.on('-a', '--account NAME', 'Account name') { |v| options[:account_name] = v }
|
|
15
|
-
opts.on('-e', '--environment NAME', 'Environment name') { |v| options[:environment_name] = v }
|
|
16
|
-
|
|
17
|
-
end.parse!
|
|
18
|
-
|
|
19
|
-
# Token comes from '~/.eyrc'
|
|
20
|
-
eyrc = YAML.load_file(File.expand_path("~/.eyrc"))
|
|
21
|
-
|
|
22
|
-
client = Ey::Core::Client.new(token: eyrc['api_token'])
|
|
23
|
-
|
|
24
|
-
# Account name as shown in cloud.engineyard.com
|
|
25
|
-
account = client.accounts.first(name: options[:account_name])
|
|
26
|
-
|
|
27
|
-
# Environment's name
|
|
28
|
-
environment = account.environments.first(name: options[:environment_name])
|
|
29
|
-
|
|
30
|
-
if environment.servers.count == 0 then
|
|
31
|
-
puts "Environment doesn't have instances running, are you sure it isn't stopped already?"
|
|
32
|
-
exit
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
puts "Stopping environment #{environment.name}...."
|
|
36
|
-
deprovision_request = environment.deprovision
|
|
37
|
-
|
|
38
|
-
# Stoping the environment with a timeout of 1200sec.
|
|
39
|
-
# Adjust as necessary depending of the size of the environment.
|
|
40
|
-
deprovision_request.ready!(1200)
|
|
41
|
-
|
|
42
|
-
puts "-------------------"
|
|
43
|
-
|
|
44
|
-
if !deprovision_request.successful? then
|
|
45
|
-
puts "Stop environment FAILED!!!"
|
|
46
|
-
puts "Check cloud.engineyard.com for more details"
|
|
47
|
-
exit
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
puts "Stop environment SUCCEDED!!!"
|
|
51
|
-
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
# Very basic example of how to stop a given environment.
|
|
4
|
+
# For more info visit http://developer.engineyard.com
|
|
5
|
+
|
|
6
|
+
require 'ey-core'
|
|
7
|
+
require 'optparse'
|
|
8
|
+
require 'yaml'
|
|
9
|
+
|
|
10
|
+
options = {}
|
|
11
|
+
OptionParser.new do |opts|
|
|
12
|
+
opts.banner = "Usage: stop_env.rb [options]"
|
|
13
|
+
|
|
14
|
+
opts.on('-a', '--account NAME', 'Account name') { |v| options[:account_name] = v }
|
|
15
|
+
opts.on('-e', '--environment NAME', 'Environment name') { |v| options[:environment_name] = v }
|
|
16
|
+
|
|
17
|
+
end.parse!
|
|
18
|
+
|
|
19
|
+
# Token comes from '~/.eyrc'
|
|
20
|
+
eyrc = YAML.load_file(File.expand_path("~/.eyrc"))
|
|
21
|
+
|
|
22
|
+
client = Ey::Core::Client.new(token: eyrc['api_token'])
|
|
23
|
+
|
|
24
|
+
# Account name as shown in cloud.engineyard.com
|
|
25
|
+
account = client.accounts.first(name: options[:account_name])
|
|
26
|
+
|
|
27
|
+
# Environment's name
|
|
28
|
+
environment = account.environments.first(name: options[:environment_name])
|
|
29
|
+
|
|
30
|
+
if environment.servers.count == 0 then
|
|
31
|
+
puts "Environment doesn't have instances running, are you sure it isn't stopped already?"
|
|
32
|
+
exit
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
puts "Stopping environment #{environment.name}...."
|
|
36
|
+
deprovision_request = environment.deprovision
|
|
37
|
+
|
|
38
|
+
# Stoping the environment with a timeout of 1200sec.
|
|
39
|
+
# Adjust as necessary depending of the size of the environment.
|
|
40
|
+
deprovision_request.ready!(1200)
|
|
41
|
+
|
|
42
|
+
puts "-------------------"
|
|
43
|
+
|
|
44
|
+
if !deprovision_request.successful? then
|
|
45
|
+
puts "Stop environment FAILED!!!"
|
|
46
|
+
puts "Check cloud.engineyard.com for more details"
|
|
47
|
+
exit
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
puts "Stop environment SUCCEDED!!!"
|
|
51
|
+
|
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
|
|
3
|
-
# Very basic example of how to terminate a given instance in a given environment.
|
|
4
|
-
# For more info visit http://developer.engineyard.com
|
|
5
|
-
|
|
6
|
-
require 'ey-core'
|
|
7
|
-
require 'optparse'
|
|
8
|
-
require 'yaml'
|
|
9
|
-
|
|
10
|
-
options = {}
|
|
11
|
-
OptionParser.new do |opts|
|
|
12
|
-
opts.banner = "Usage: terminate_instance.rb [options]"
|
|
13
|
-
|
|
14
|
-
opts.on('-a', '--account NAME', 'Account name') { |v| options[:account_name] = v }
|
|
15
|
-
opts.on('-e', '--environment NAME', 'Environment name') { |v| options[:environment_name] = v }
|
|
16
|
-
opts.on('-n', '--iname NAME', 'Instance name') { |v| options[:instance_name] = v }
|
|
17
|
-
opts.on('-s', '--skip_snapshot', 'Skip snapshotting the volumes') { |v| options[:skip_snapshot] = true }
|
|
18
|
-
|
|
19
|
-
end.parse!
|
|
20
|
-
|
|
21
|
-
# Token comes from '~/.eyrc'
|
|
22
|
-
eyrc = YAML.load_file(File.expand_path("~/.eyrc"))
|
|
23
|
-
|
|
24
|
-
client = Ey::Core::Client.new(token: eyrc['api_token'])
|
|
25
|
-
|
|
26
|
-
# Account name as shown in cloud.engineyard.com
|
|
27
|
-
account = client.accounts.first(name: options[:account_name])
|
|
28
|
-
|
|
29
|
-
# Environment's name
|
|
30
|
-
environment = account.environments.first(name: options[:environment_name])
|
|
31
|
-
|
|
32
|
-
# Instance's name
|
|
33
|
-
instance_name = options[:instance_name]
|
|
34
|
-
|
|
35
|
-
# Skip snapshot
|
|
36
|
-
skip_snapshot = options[:skip_snapshot] ? true : false
|
|
37
|
-
|
|
38
|
-
puts "Terminating instance #{instance_name} on environment #{environment.name}...."
|
|
39
|
-
|
|
40
|
-
servers = environment.servers.select{|s| s.name == instance_name}
|
|
41
|
-
if !servers then
|
|
42
|
-
puts "Couldn't find instance #{instance_name} on environment #{environment.name}!!!!"
|
|
43
|
-
puts "Check cloud.engineyard.com for more details"
|
|
44
|
-
exit
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
server = servers[0]
|
|
48
|
-
deprovision_request = server.destroy!(skip_snapshot)
|
|
49
|
-
if !deprovision_request then
|
|
50
|
-
puts "Termination of instance #{instance_name} FAILED!!!!"
|
|
51
|
-
puts "Check cloud.engineyard.com for more details"
|
|
52
|
-
exit
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
# Terminating the instance with a timeout of 1200sec (20min) as a ballpark figure.
|
|
56
|
-
# Adjust as necessary depending of the size/role of the instance.
|
|
57
|
-
deprovision_request.ready!(1200)
|
|
58
|
-
|
|
59
|
-
puts "*"
|
|
60
|
-
puts "Instance #{instance_name} terminated successfully"
|
|
61
|
-
puts "-------------------"
|
|
62
|
-
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
# Very basic example of how to terminate a given instance in a given environment.
|
|
4
|
+
# For more info visit http://developer.engineyard.com
|
|
5
|
+
|
|
6
|
+
require 'ey-core'
|
|
7
|
+
require 'optparse'
|
|
8
|
+
require 'yaml'
|
|
9
|
+
|
|
10
|
+
options = {}
|
|
11
|
+
OptionParser.new do |opts|
|
|
12
|
+
opts.banner = "Usage: terminate_instance.rb [options]"
|
|
13
|
+
|
|
14
|
+
opts.on('-a', '--account NAME', 'Account name') { |v| options[:account_name] = v }
|
|
15
|
+
opts.on('-e', '--environment NAME', 'Environment name') { |v| options[:environment_name] = v }
|
|
16
|
+
opts.on('-n', '--iname NAME', 'Instance name') { |v| options[:instance_name] = v }
|
|
17
|
+
opts.on('-s', '--skip_snapshot', 'Skip snapshotting the volumes') { |v| options[:skip_snapshot] = true }
|
|
18
|
+
|
|
19
|
+
end.parse!
|
|
20
|
+
|
|
21
|
+
# Token comes from '~/.eyrc'
|
|
22
|
+
eyrc = YAML.load_file(File.expand_path("~/.eyrc"))
|
|
23
|
+
|
|
24
|
+
client = Ey::Core::Client.new(token: eyrc['api_token'])
|
|
25
|
+
|
|
26
|
+
# Account name as shown in cloud.engineyard.com
|
|
27
|
+
account = client.accounts.first(name: options[:account_name])
|
|
28
|
+
|
|
29
|
+
# Environment's name
|
|
30
|
+
environment = account.environments.first(name: options[:environment_name])
|
|
31
|
+
|
|
32
|
+
# Instance's name
|
|
33
|
+
instance_name = options[:instance_name]
|
|
34
|
+
|
|
35
|
+
# Skip snapshot
|
|
36
|
+
skip_snapshot = options[:skip_snapshot] ? true : false
|
|
37
|
+
|
|
38
|
+
puts "Terminating instance #{instance_name} on environment #{environment.name}...."
|
|
39
|
+
|
|
40
|
+
servers = environment.servers.select{|s| s.name == instance_name}
|
|
41
|
+
if !servers then
|
|
42
|
+
puts "Couldn't find instance #{instance_name} on environment #{environment.name}!!!!"
|
|
43
|
+
puts "Check cloud.engineyard.com for more details"
|
|
44
|
+
exit
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
server = servers[0]
|
|
48
|
+
deprovision_request = server.destroy!(skip_snapshot)
|
|
49
|
+
if !deprovision_request then
|
|
50
|
+
puts "Termination of instance #{instance_name} FAILED!!!!"
|
|
51
|
+
puts "Check cloud.engineyard.com for more details"
|
|
52
|
+
exit
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Terminating the instance with a timeout of 1200sec (20min) as a ballpark figure.
|
|
56
|
+
# Adjust as necessary depending of the size/role of the instance.
|
|
57
|
+
deprovision_request.ready!(1200)
|
|
58
|
+
|
|
59
|
+
puts "*"
|
|
60
|
+
puts "Instance #{instance_name} terminated successfully"
|
|
61
|
+
puts "-------------------"
|
|
62
|
+
|
data/ey-core.gemspec
CHANGED
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
|
2
|
-
lib = File.expand_path('../lib', __FILE__)
|
|
3
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
-
require 'ey-core/version'
|
|
5
|
-
|
|
6
|
-
Gem::Specification.new do |gem|
|
|
7
|
-
gem.name = "ey-core"
|
|
8
|
-
gem.version = Ey::Core::VERSION
|
|
9
|
-
gem.authors = ["Engine Yard Engineering"]
|
|
10
|
-
gem.email = ["engineering@engineyard.com"]
|
|
11
|
-
gem.description = %q{Engine Yard Core API Ruby Client}
|
|
12
|
-
gem.summary = %q{Client library providing real and mock functionality for accessing Engine Yard's Core API}
|
|
13
|
-
gem.homepage = ""
|
|
14
|
-
|
|
15
|
-
gem.files = `git ls-files`.split($/)
|
|
16
|
-
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
|
17
|
-
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
|
18
|
-
gem.require_paths = ["lib"]
|
|
19
|
-
gem.licenses = ["MIT"]
|
|
20
|
-
|
|
21
|
-
gem.required_ruby_version = ">= 2.5"
|
|
22
|
-
|
|
23
|
-
gem.add_dependency "addressable"
|
|
24
|
-
|
|
25
|
-
gem.add_dependency "amazing_print", "~> 1.1.0"
|
|
26
|
-
gem.add_dependency "belafonte"
|
|
27
|
-
gem.add_dependency "cistern", "~> 0.12.3"
|
|
28
|
-
gem.add_dependency "colorize"
|
|
29
|
-
gem.add_dependency "ey-hmac", "~> 2.0"
|
|
30
|
-
gem.add_dependency "escape"
|
|
31
|
-
gem.add_dependency "hashie", "~> 4.1.0"
|
|
32
|
-
gem.add_dependency "faraday", "~> 1.0"
|
|
33
|
-
gem.add_dependency "faraday_middleware", "~> 1.0"
|
|
34
|
-
gem.add_dependency "rack"
|
|
35
|
-
gem.add_dependency "faye"
|
|
36
|
-
gem.add_dependency "highline"
|
|
37
|
-
gem.add_dependency "json", "~> 2.3.0"
|
|
38
|
-
gem.add_dependency "mime-types"
|
|
39
|
-
gem.add_dependency "oj"
|
|
40
|
-
gem.add_dependency "oj_mimic_json"
|
|
41
|
-
gem.add_dependency "pry"
|
|
42
|
-
gem.add_dependency "sshkey", "~> 1.6"
|
|
43
|
-
gem.add_dependency "table_print"
|
|
44
|
-
|
|
45
|
-
gem.add_development_dependency "pry-nav"
|
|
46
|
-
gem.add_development_dependency "rspec", "~> 3.0"
|
|
47
|
-
gem.add_development_dependency "ffaker"
|
|
48
|
-
gem.add_development_dependency "rake"
|
|
49
|
-
gem.add_development_dependency "aruba", "~> 0.11"
|
|
50
|
-
gem.add_development_dependency "cucumber", "~> 2.1"
|
|
51
|
-
gem.add_development_dependency "factis", "~> 1.0"
|
|
52
|
-
end
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
+
require 'ey-core/version'
|
|
5
|
+
|
|
6
|
+
Gem::Specification.new do |gem|
|
|
7
|
+
gem.name = "ey-core"
|
|
8
|
+
gem.version = Ey::Core::VERSION
|
|
9
|
+
gem.authors = ["Engine Yard Engineering"]
|
|
10
|
+
gem.email = ["engineering@engineyard.com"]
|
|
11
|
+
gem.description = %q{Engine Yard Core API Ruby Client}
|
|
12
|
+
gem.summary = %q{Client library providing real and mock functionality for accessing Engine Yard's Core API}
|
|
13
|
+
gem.homepage = ""
|
|
14
|
+
|
|
15
|
+
gem.files = `git ls-files`.split($/)
|
|
16
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
|
17
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
|
18
|
+
gem.require_paths = ["lib"]
|
|
19
|
+
gem.licenses = ["MIT"]
|
|
20
|
+
|
|
21
|
+
gem.required_ruby_version = ">= 2.5"
|
|
22
|
+
|
|
23
|
+
gem.add_dependency "addressable"
|
|
24
|
+
|
|
25
|
+
gem.add_dependency "amazing_print", "~> 1.1.0"
|
|
26
|
+
gem.add_dependency "belafonte"
|
|
27
|
+
gem.add_dependency "cistern", "~> 0.12.3"
|
|
28
|
+
gem.add_dependency "colorize"
|
|
29
|
+
gem.add_dependency "ey-hmac", "~> 2.0"
|
|
30
|
+
gem.add_dependency "escape"
|
|
31
|
+
gem.add_dependency "hashie", "~> 4.1.0"
|
|
32
|
+
gem.add_dependency "faraday", "~> 1.0"
|
|
33
|
+
gem.add_dependency "faraday_middleware", "~> 1.0"
|
|
34
|
+
gem.add_dependency "rack"
|
|
35
|
+
gem.add_dependency "faye"
|
|
36
|
+
gem.add_dependency "highline"
|
|
37
|
+
gem.add_dependency "json", "~> 2.3.0"
|
|
38
|
+
gem.add_dependency "mime-types"
|
|
39
|
+
gem.add_dependency "oj"
|
|
40
|
+
gem.add_dependency "oj_mimic_json"
|
|
41
|
+
gem.add_dependency "pry"
|
|
42
|
+
gem.add_dependency "sshkey", "~> 1.6"
|
|
43
|
+
gem.add_dependency "table_print"
|
|
44
|
+
|
|
45
|
+
gem.add_development_dependency "pry-nav"
|
|
46
|
+
gem.add_development_dependency "rspec", "~> 3.0"
|
|
47
|
+
gem.add_development_dependency "ffaker"
|
|
48
|
+
gem.add_development_dependency "rake"
|
|
49
|
+
gem.add_development_dependency "aruba", "~> 0.11"
|
|
50
|
+
gem.add_development_dependency "cucumber", "~> 2.1"
|
|
51
|
+
gem.add_development_dependency "factis", "~> 1.0"
|
|
52
|
+
end
|
data/features/accounts.feature
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
Feature: Accounts
|
|
2
|
-
In order to know what Engine Yard accounts I can access
|
|
3
|
-
As a User
|
|
4
|
-
I want to be able to list the accounts with which I'm associated
|
|
5
|
-
|
|
6
|
-
Background:
|
|
7
|
-
Given I'm an Engine Yard user
|
|
8
|
-
And ey-core is configured with my cloud token
|
|
9
|
-
And I'm associated with several accounts
|
|
10
|
-
|
|
11
|
-
Scenario: Listing my accounts
|
|
12
|
-
When I run `ey-core accounts`
|
|
13
|
-
Then I see the name and ID of each of my accounts
|
|
1
|
+
Feature: Accounts
|
|
2
|
+
In order to know what Engine Yard accounts I can access
|
|
3
|
+
As a User
|
|
4
|
+
I want to be able to list the accounts with which I'm associated
|
|
5
|
+
|
|
6
|
+
Background:
|
|
7
|
+
Given I'm an Engine Yard user
|
|
8
|
+
And ey-core is configured with my cloud token
|
|
9
|
+
And I'm associated with several accounts
|
|
10
|
+
|
|
11
|
+
Scenario: Listing my accounts
|
|
12
|
+
When I run `ey-core accounts`
|
|
13
|
+
Then I see the name and ID of each of my accounts
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
Feature: Applications
|
|
2
|
-
In order to determine what I can work with
|
|
3
|
-
As a User
|
|
4
|
-
I want to be able to list the applications that live in my accounts
|
|
5
|
-
|
|
6
|
-
Background:
|
|
7
|
-
Given I'm an Engine Yard user
|
|
8
|
-
And ey-core is configured with my cloud token
|
|
9
|
-
And I have the following accounts:
|
|
10
|
-
| Account Name |
|
|
11
|
-
| one |
|
|
12
|
-
| two |
|
|
13
|
-
| three |
|
|
14
|
-
And each of my accounts has several applications
|
|
15
|
-
|
|
16
|
-
Scenario: Listing all of my applications
|
|
17
|
-
When I run `ey-core applications`
|
|
18
|
-
Then I see the name and ID for all of my applications
|
|
19
|
-
|
|
20
|
-
Scenario Outline: Listing applications for a specific account
|
|
21
|
-
When I run `ey-core applications <Account Flag> one`
|
|
22
|
-
Then I see the applications in the one account
|
|
23
|
-
But I do not see applications from other accounts
|
|
24
|
-
|
|
25
|
-
Examples:
|
|
26
|
-
| Account Flag |
|
|
27
|
-
| -a |
|
|
28
|
-
| --account |
|
|
29
|
-
|
|
1
|
+
Feature: Applications
|
|
2
|
+
In order to determine what I can work with
|
|
3
|
+
As a User
|
|
4
|
+
I want to be able to list the applications that live in my accounts
|
|
5
|
+
|
|
6
|
+
Background:
|
|
7
|
+
Given I'm an Engine Yard user
|
|
8
|
+
And ey-core is configured with my cloud token
|
|
9
|
+
And I have the following accounts:
|
|
10
|
+
| Account Name |
|
|
11
|
+
| one |
|
|
12
|
+
| two |
|
|
13
|
+
| three |
|
|
14
|
+
And each of my accounts has several applications
|
|
15
|
+
|
|
16
|
+
Scenario: Listing all of my applications
|
|
17
|
+
When I run `ey-core applications`
|
|
18
|
+
Then I see the name and ID for all of my applications
|
|
19
|
+
|
|
20
|
+
Scenario Outline: Listing applications for a specific account
|
|
21
|
+
When I run `ey-core applications <Account Flag> one`
|
|
22
|
+
Then I see the applications in the one account
|
|
23
|
+
But I do not see applications from other accounts
|
|
24
|
+
|
|
25
|
+
Examples:
|
|
26
|
+
| Account Flag |
|
|
27
|
+
| -a |
|
|
28
|
+
| --account |
|
|
29
|
+
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
Feature: Current User
|
|
2
|
-
In order to ensure that I'm logged into the right account
|
|
3
|
-
As a User
|
|
4
|
-
I want to be able to see my user information
|
|
5
|
-
|
|
6
|
-
Background:
|
|
7
|
-
Given I'm an Engine Yard user
|
|
8
|
-
And ey-core is configured with my cloud token
|
|
9
|
-
|
|
10
|
-
Scenario: Getting the current user information
|
|
11
|
-
When I run `ey-core current_user`
|
|
12
|
-
Then I should see my user ID
|
|
13
|
-
And I should see my email address
|
|
14
|
-
And I should see my name
|
|
1
|
+
Feature: Current User
|
|
2
|
+
In order to ensure that I'm logged into the right account
|
|
3
|
+
As a User
|
|
4
|
+
I want to be able to see my user information
|
|
5
|
+
|
|
6
|
+
Background:
|
|
7
|
+
Given I'm an Engine Yard user
|
|
8
|
+
And ey-core is configured with my cloud token
|
|
9
|
+
|
|
10
|
+
Scenario: Getting the current user information
|
|
11
|
+
When I run `ey-core current_user`
|
|
12
|
+
Then I should see my user ID
|
|
13
|
+
And I should see my email address
|
|
14
|
+
And I should see my name
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
Feature: Docker Registry Credentials
|
|
2
|
-
In order to authorize the Docker Engine with the AWS ECR registry
|
|
3
|
-
As a User
|
|
4
|
-
I want to be able to retrieve the Docker authorization credentials
|
|
5
|
-
|
|
6
|
-
Background:
|
|
7
|
-
Given I'm an Engine Yard user
|
|
8
|
-
And ey-core is configured with my cloud token
|
|
9
|
-
And I have the following accounts:
|
|
10
|
-
| Account Name |
|
|
11
|
-
| one |
|
|
12
|
-
| two |
|
|
13
|
-
|
|
14
|
-
Scenario Outline: Retrieving Docker authorization credentials
|
|
15
|
-
When I run `ey-core get-docker-registry-login <Account Flag> one <Location Flag> us-east-1`
|
|
16
|
-
Then I see the docker login command
|
|
17
|
-
|
|
18
|
-
Examples:
|
|
19
|
-
| Account Flag | Location Flag |
|
|
20
|
-
| -c | -l |
|
|
21
|
-
| --account | --location |
|
|
1
|
+
Feature: Docker Registry Credentials
|
|
2
|
+
In order to authorize the Docker Engine with the AWS ECR registry
|
|
3
|
+
As a User
|
|
4
|
+
I want to be able to retrieve the Docker authorization credentials
|
|
5
|
+
|
|
6
|
+
Background:
|
|
7
|
+
Given I'm an Engine Yard user
|
|
8
|
+
And ey-core is configured with my cloud token
|
|
9
|
+
And I have the following accounts:
|
|
10
|
+
| Account Name |
|
|
11
|
+
| one |
|
|
12
|
+
| two |
|
|
13
|
+
|
|
14
|
+
Scenario Outline: Retrieving Docker authorization credentials
|
|
15
|
+
When I run `ey-core get-docker-registry-login <Account Flag> one <Location Flag> us-east-1`
|
|
16
|
+
Then I see the docker login command
|
|
17
|
+
|
|
18
|
+
Examples:
|
|
19
|
+
| Account Flag | Location Flag |
|
|
20
|
+
| -c | -l |
|
|
21
|
+
| --account | --location |
|