ey-core 3.4.5 → 3.6.0.autoscaling1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +23 -26
- data/.ruby-gemset +1 -1
- data/.ruby-version +1 -1
- data/.travis.yml +23 -23
- data/CHANGELOG.md +174 -166
- data/Dockerfile +3 -0
- data/Gemfile +21 -21
- data/Guardfile +15 -15
- data/LICENSE.txt +19 -19
- data/README.md +78 -78
- data/Rakefile +18 -18
- 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/environment_variables.feature +54 -0
- 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 -23
- data/features/step_definitions/applications_steps.rb +39 -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/environment_variables_steps.rb +51 -0
- data/features/step_definitions/environments_steps.rb +52 -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/environment_variable_helpers.rb +20 -0
- 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 +201 -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/environment_variables.rb +71 -0
- 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 -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 +67 -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 +58 -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 +306 -302
- data/lib/ey-core/client/real.rb +93 -93
- data/lib/ey-core/client.rb +468 -442
- 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 -0
- data/lib/ey-core/collections/auto_scaling_groups.rb +8 -8
- data/lib/ey-core/collections/auto_scaling_policies.rb +33 -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/container_clusters.rb +9 -0
- data/lib/ey-core/collections/container_service_deployments.rb +17 -0
- 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 -0
- 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 +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 +59 -57
- data/lib/ey-core/models/alert.rb +99 -100
- data/lib/ey-core/models/application.rb +33 -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_alarm.rb +54 -0
- data/lib/ey-core/models/auto_scaling_group.rb +75 -49
- data/lib/ey-core/models/backup_file.rb +52 -52
- data/lib/ey-core/models/base_auto_scaling_policy.rb +61 -0
- 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 -0
- 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 +248 -242
- data/lib/ey-core/models/environment_plan_usage.rb +10 -10
- data/lib/ey-core/models/environment_variable.rb +29 -0
- 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 -105
- 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 -0
- data/lib/ey-core/models/ssl_certificate.rb +44 -44
- data/lib/ey-core/models/step_auto_scaling_policy.rb +24 -0
- 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 -0
- 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 -33
- data/lib/ey-core/requests/create_addon.rb +35 -35
- data/lib/ey-core/requests/create_address.rb +54 -53
- data/lib/ey-core/requests/create_alert.rb +63 -63
- data/lib/ey-core/requests/create_application.rb +73 -72
- data/lib/ey-core/requests/create_application_archive.rb +44 -44
- data/lib/ey-core/requests/create_auto_scaling_alarm.rb +69 -0
- data/lib/ey-core/requests/create_auto_scaling_group.rb +62 -62
- data/lib/ey-core/requests/create_auto_scaling_policy.rb +68 -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 +77 -76
- data/lib/ey-core/requests/create_environment_variable.rb +39 -0
- 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 -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_alarm.rb +49 -0
- data/lib/ey-core/requests/destroy_auto_scaling_group.rb +44 -44
- data/lib/ey-core/requests/destroy_auto_scaling_policy.rb +49 -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_container_service_deployments.rb +71 -0
- 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 -0
- data/lib/ey-core/requests/get_auto_scaling_alarms.rb +34 -0
- 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 -0
- data/lib/ey-core/requests/get_auto_scaling_policy.rb +27 -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_environment_variable.rb +19 -0
- data/lib/ey-core/requests/get_environment_variables.rb +29 -0
- 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_alarm.rb +45 -0
- data/lib/ey-core/requests/update_auto_scaling_group.rb +45 -45
- data/lib/ey-core/requests/update_auto_scaling_policy.rb +46 -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_environment_variable.rb +25 -0
- 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 -0
- 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 -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 +57 -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_alarms_spec.rb +40 -0
- data/spec/auto_scaling_groups_spec.rb +28 -28
- data/spec/auto_scaling_policies_spec.rb +94 -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 -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 -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 +46 -8
- data/bin/console +0 -4
data/README.md
CHANGED
@@ -1,78 +1,78 @@
|
|
1
|
-
# Ey::Core
|
2
|
-
|
3
|
-
Official Ruby Engine Yard Core API Client.
|
4
|
-
|
5
|
-
## Installation
|
6
|
-
|
7
|
-
Add this line to your application's Gemfile:
|
8
|
-
|
9
|
-
gem 'ey-core'
|
10
|
-
|
11
|
-
And then execute:
|
12
|
-
|
13
|
-
$ bundle
|
14
|
-
|
15
|
-
Or install it yourself as:
|
16
|
-
|
17
|
-
$ gem install ey-core
|
18
|
-
|
19
|
-
## Usage
|
20
|
-
|
21
|
-
Uses [cistern](https://github.com/lanej/cistern) to wrap RESTful resources nicely.
|
22
|
-
|
23
|
-
```ruby
|
24
|
-
client.users.current # =>
|
25
|
-
<Ey::Core::Client::User
|
26
|
-
id="0037000000uLmCe",
|
27
|
-
name="Josh Lane",
|
28
|
-
email="jlane@engineyard.com",
|
29
|
-
accounts_url="https://api.engineyard.com/users/0037000000uLmCe/accounts"
|
30
|
-
>
|
31
|
-
```
|
32
|
-
|
33
|
-
### Authentication
|
34
|
-
|
35
|
-
* Via Token
|
36
|
-
|
37
|
-
```ruby
|
38
|
-
Ey::Core::Client.new(token: "943662ea7d0fad349eeae9f69adb521d")
|
39
|
-
```
|
40
|
-
|
41
|
-
* Via HMAC
|
42
|
-
|
43
|
-
```ruby
|
44
|
-
Ey::Core::Client.new(
|
45
|
-
:auth_id => "943662ea7d0fad",
|
46
|
-
:auth_key => "943662ea7d0fad349eeae9f69adb521d",
|
47
|
-
:logger => Logger.new(STDOUT),
|
48
|
-
)
|
49
|
-
```
|
50
|
-
|
51
|
-
### Mock
|
52
|
-
|
53
|
-
Mock is disabled by default.
|
54
|
-
|
55
|
-
```ruby
|
56
|
-
Ey::Core::Client.mocking? # => false
|
57
|
-
Ey::Core::Client.mock!
|
58
|
-
Ey::Core::Client.mocking? # => true
|
59
|
-
```
|
60
|
-
|
61
|
-
Reset the mock
|
62
|
-
|
63
|
-
```ruby
|
64
|
-
Ey::Core::Client.reset!
|
65
|
-
```
|
66
|
-
|
67
|
-
### Testing
|
68
|
-
|
69
|
-
By default, specs are run against the core mock. In order to run them against awsm mocked mode instead, run `MOCK_CORE=false bundle exec rspec`
|
70
|
-
|
71
|
-
|
72
|
-
## Contributing
|
73
|
-
|
74
|
-
1. Fork it
|
75
|
-
2. Create your feature branch (`git checkout -b my-new-feature`)
|
76
|
-
3. Commit your changes (`git commit -am 'Add some feature'`)
|
77
|
-
4. Push to the branch (`git push origin my-new-feature`)
|
78
|
-
5. Create new Pull Request
|
1
|
+
# Ey::Core
|
2
|
+
|
3
|
+
Official Ruby Engine Yard Core API Client.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
gem 'ey-core'
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
$ bundle
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
$ gem install ey-core
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
Uses [cistern](https://github.com/lanej/cistern) to wrap RESTful resources nicely.
|
22
|
+
|
23
|
+
```ruby
|
24
|
+
client.users.current # =>
|
25
|
+
<Ey::Core::Client::User
|
26
|
+
id="0037000000uLmCe",
|
27
|
+
name="Josh Lane",
|
28
|
+
email="jlane@engineyard.com",
|
29
|
+
accounts_url="https://api.engineyard.com/users/0037000000uLmCe/accounts"
|
30
|
+
>
|
31
|
+
```
|
32
|
+
|
33
|
+
### Authentication
|
34
|
+
|
35
|
+
* Via Token
|
36
|
+
|
37
|
+
```ruby
|
38
|
+
Ey::Core::Client.new(token: "943662ea7d0fad349eeae9f69adb521d")
|
39
|
+
```
|
40
|
+
|
41
|
+
* Via HMAC
|
42
|
+
|
43
|
+
```ruby
|
44
|
+
Ey::Core::Client.new(
|
45
|
+
:auth_id => "943662ea7d0fad",
|
46
|
+
:auth_key => "943662ea7d0fad349eeae9f69adb521d",
|
47
|
+
:logger => Logger.new(STDOUT),
|
48
|
+
)
|
49
|
+
```
|
50
|
+
|
51
|
+
### Mock
|
52
|
+
|
53
|
+
Mock is disabled by default.
|
54
|
+
|
55
|
+
```ruby
|
56
|
+
Ey::Core::Client.mocking? # => false
|
57
|
+
Ey::Core::Client.mock!
|
58
|
+
Ey::Core::Client.mocking? # => true
|
59
|
+
```
|
60
|
+
|
61
|
+
Reset the mock
|
62
|
+
|
63
|
+
```ruby
|
64
|
+
Ey::Core::Client.reset!
|
65
|
+
```
|
66
|
+
|
67
|
+
### Testing
|
68
|
+
|
69
|
+
By default, specs are run against the core mock. In order to run them against awsm mocked mode instead, run `MOCK_CORE=false bundle exec rspec`
|
70
|
+
|
71
|
+
|
72
|
+
## Contributing
|
73
|
+
|
74
|
+
1. Fork it
|
75
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
76
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
77
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
78
|
+
5. Create new Pull Request
|
data/Rakefile
CHANGED
@@ -1,18 +1,18 @@
|
|
1
|
-
#!/usr/bin/env rake
|
2
|
-
require "bundler/gem_tasks"
|
3
|
-
require 'cucumber/rake/task'
|
4
|
-
|
5
|
-
namespace :spec do
|
6
|
-
task :mocked do
|
7
|
-
sh "env MOCK_CORE=true bundle exec rspec spec/"
|
8
|
-
end
|
9
|
-
task :unmocked do
|
10
|
-
sh "env MOCK_CORE=false CORE_URL=http://api-development.localdev.engineyard.com:9292 bundle exec rspec spec/"
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
task :spec => ["spec:mocked", "spec:unmocked"]
|
15
|
-
|
16
|
-
Cucumber::Rake::Task.new
|
17
|
-
|
18
|
-
task default: ["spec:mocked", :cucumber]
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
require "bundler/gem_tasks"
|
3
|
+
require 'cucumber/rake/task'
|
4
|
+
|
5
|
+
namespace :spec do
|
6
|
+
task :mocked do
|
7
|
+
sh "env MOCK_CORE=true bundle exec rspec spec/"
|
8
|
+
end
|
9
|
+
task :unmocked do
|
10
|
+
sh "env MOCK_CORE=false CORE_URL=http://api-development.localdev.engineyard.com:9292 bundle exec rspec spec/"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
task :spec => ["spec:mocked", "spec:unmocked"]
|
15
|
+
|
16
|
+
Cucumber::Rake::Task.new
|
17
|
+
|
18
|
+
task default: ["spec:mocked", :cucumber]
|
data/bin/ey-core
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
require File.expand_path('../../lib/ey-core/cli/main', __FILE__)
|
3
|
-
|
4
|
-
Ey::Core::Cli::Main.new(ARGV).execute!
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require File.expand_path('../../lib/ey-core/cli/main', __FILE__)
|
3
|
+
|
4
|
+
Ey::Core::Cli::Main.new(ARGV).execute!
|
data/examples/add_instance.rb
CHANGED
@@ -1,74 +1,74 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
# Very basic example of how to add an instance to a given environment.
|
4
|
-
# As is attempts to add a t2.micro, see new_server_specs below.
|
5
|
-
# For more info visit http://developer.engineyard.com
|
6
|
-
|
7
|
-
require 'ey-core'
|
8
|
-
require 'optparse'
|
9
|
-
require 'yaml'
|
10
|
-
|
11
|
-
options = {}
|
12
|
-
OptionParser.new do |opts|
|
13
|
-
opts.banner = "Usage: add_instance.rb [options]"
|
14
|
-
|
15
|
-
opts.on('-a', '--account NAME', 'Account name') { |v| options[:account_name] = v }
|
16
|
-
opts.on('-e', '--environment NAME', 'Environment name') { |v| options[:environment_name] = v }
|
17
|
-
opts.on('-n', '--iname NAME', 'Instance name') { |v| options[:instance_name] = v }
|
18
|
-
opts.on('-r', '--irole ROLE', 'Instance role (app, util)') { |v| options[:instance_role] = v }
|
19
|
-
|
20
|
-
end.parse!
|
21
|
-
|
22
|
-
# Token comes from '~/.eyrc'
|
23
|
-
eyrc = YAML.load_file(File.expand_path("~/.eyrc"))
|
24
|
-
|
25
|
-
client = Ey::Core::Client.new(token: eyrc['api_token'])
|
26
|
-
|
27
|
-
# Account name as shown in cloud.engineyard.com
|
28
|
-
account = client.accounts.first(name: options[:account_name])
|
29
|
-
|
30
|
-
# Environment's name
|
31
|
-
environment = account.environments.first(name: options[:environment_name])
|
32
|
-
|
33
|
-
# Instance's name
|
34
|
-
instance_name = options[:instance_name]
|
35
|
-
|
36
|
-
puts "Adding app instance #{instance_name} to environment #{environment.name}...."
|
37
|
-
|
38
|
-
# TO DO: read new_server_specs from a file provided as a parameter
|
39
|
-
new_server_specs = {
|
40
|
-
:environment => environment.id,
|
41
|
-
:flavor_id => "t2_micro",
|
42
|
-
:mnt_volume_size => "10",
|
43
|
-
:name => instance_name,
|
44
|
-
:role => options[:instance_role],
|
45
|
-
:volume_size => "10",
|
46
|
-
}
|
47
|
-
|
48
|
-
provision_request = client.servers.create!(new_server_specs)
|
49
|
-
|
50
|
-
# Provisioning the instance with a timeout of 1200sec.
|
51
|
-
# Adjust as necessary depending of the type/role of instance.
|
52
|
-
provision_request.ready!(1200)
|
53
|
-
|
54
|
-
ap provision_request.attributes
|
55
|
-
|
56
|
-
puts "Instance provisioned successfully"
|
57
|
-
puts "-------------------"
|
58
|
-
|
59
|
-
puts "Waiting for instance #{instance_name} to integrate into the environment #{environment.name}...."
|
60
|
-
new_server = provision_request.resource!
|
61
|
-
|
62
|
-
new_server.wait_for(1800) { |s| s.state == "running" || s.state == "error" }
|
63
|
-
|
64
|
-
if !new_server.enabled? then
|
65
|
-
puts "Adding of instance #{instance_name} into environment #{environment.name} FAILED!!!"
|
66
|
-
puts "Check cloud.engineyard.com for more details"
|
67
|
-
ap new_server.attributes
|
68
|
-
exit
|
69
|
-
end
|
70
|
-
|
71
|
-
puts "Adding of instance #{instance_name} into environment #{environment.name} SUCCEEDED!!!"
|
72
|
-
|
73
|
-
|
74
|
-
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# Very basic example of how to add an instance to a given environment.
|
4
|
+
# As is attempts to add a t2.micro, see new_server_specs below.
|
5
|
+
# For more info visit http://developer.engineyard.com
|
6
|
+
|
7
|
+
require 'ey-core'
|
8
|
+
require 'optparse'
|
9
|
+
require 'yaml'
|
10
|
+
|
11
|
+
options = {}
|
12
|
+
OptionParser.new do |opts|
|
13
|
+
opts.banner = "Usage: add_instance.rb [options]"
|
14
|
+
|
15
|
+
opts.on('-a', '--account NAME', 'Account name') { |v| options[:account_name] = v }
|
16
|
+
opts.on('-e', '--environment NAME', 'Environment name') { |v| options[:environment_name] = v }
|
17
|
+
opts.on('-n', '--iname NAME', 'Instance name') { |v| options[:instance_name] = v }
|
18
|
+
opts.on('-r', '--irole ROLE', 'Instance role (app, util)') { |v| options[:instance_role] = v }
|
19
|
+
|
20
|
+
end.parse!
|
21
|
+
|
22
|
+
# Token comes from '~/.eyrc'
|
23
|
+
eyrc = YAML.load_file(File.expand_path("~/.eyrc"))
|
24
|
+
|
25
|
+
client = Ey::Core::Client.new(token: eyrc['api_token'])
|
26
|
+
|
27
|
+
# Account name as shown in cloud.engineyard.com
|
28
|
+
account = client.accounts.first(name: options[:account_name])
|
29
|
+
|
30
|
+
# Environment's name
|
31
|
+
environment = account.environments.first(name: options[:environment_name])
|
32
|
+
|
33
|
+
# Instance's name
|
34
|
+
instance_name = options[:instance_name]
|
35
|
+
|
36
|
+
puts "Adding app instance #{instance_name} to environment #{environment.name}...."
|
37
|
+
|
38
|
+
# TO DO: read new_server_specs from a file provided as a parameter
|
39
|
+
new_server_specs = {
|
40
|
+
:environment => environment.id,
|
41
|
+
:flavor_id => "t2_micro",
|
42
|
+
:mnt_volume_size => "10",
|
43
|
+
:name => instance_name,
|
44
|
+
:role => options[:instance_role],
|
45
|
+
:volume_size => "10",
|
46
|
+
}
|
47
|
+
|
48
|
+
provision_request = client.servers.create!(new_server_specs)
|
49
|
+
|
50
|
+
# Provisioning the instance with a timeout of 1200sec.
|
51
|
+
# Adjust as necessary depending of the type/role of instance.
|
52
|
+
provision_request.ready!(1200)
|
53
|
+
|
54
|
+
ap provision_request.attributes
|
55
|
+
|
56
|
+
puts "Instance provisioned successfully"
|
57
|
+
puts "-------------------"
|
58
|
+
|
59
|
+
puts "Waiting for instance #{instance_name} to integrate into the environment #{environment.name}...."
|
60
|
+
new_server = provision_request.resource!
|
61
|
+
|
62
|
+
new_server.wait_for(1800) { |s| s.state == "running" || s.state == "error" }
|
63
|
+
|
64
|
+
if !new_server.enabled? then
|
65
|
+
puts "Adding of instance #{instance_name} into environment #{environment.name} FAILED!!!"
|
66
|
+
puts "Check cloud.engineyard.com for more details"
|
67
|
+
ap new_server.attributes
|
68
|
+
exit
|
69
|
+
end
|
70
|
+
|
71
|
+
puts "Adding of instance #{instance_name} into environment #{environment.name} SUCCEEDED!!!"
|
72
|
+
|
73
|
+
|
74
|
+
|
data/examples/boot_env.rb
CHANGED
@@ -1,60 +1,60 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
# Very basic example of how to boot a given environment from a blueprint
|
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: boot_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
|
-
opts.on('-b', '--blueprint NAME', 'Blueprint name') { |v| options[:blueprint_name] = v }
|
17
|
-
|
18
|
-
end.parse!
|
19
|
-
|
20
|
-
# Token comes from '~/.eyrc'
|
21
|
-
eyrc = YAML.load_file(File.expand_path("~/.eyrc"))
|
22
|
-
|
23
|
-
#client = Ey::Core::Client.new(token: "abcdefghijklmnrstuvwxyz123456789")
|
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
|
-
if environment.servers.count > 0 then
|
33
|
-
puts "Environment has instances running, are you sure you want to boot it?"
|
34
|
-
exit
|
35
|
-
end
|
36
|
-
|
37
|
-
# Get blueprint's name for cloud.engineyard.com
|
38
|
-
blueprint = environment.blueprints.first(name: options[:blueprint_name])
|
39
|
-
if !blueprint then
|
40
|
-
puts "Could not find the specified blueprint."
|
41
|
-
puts "Check cloud.engineyard.com for more details."
|
42
|
-
exit
|
43
|
-
end
|
44
|
-
|
45
|
-
env_options = {"blueprint_id": blueprint.id}
|
46
|
-
puts "Booting environment using an specific blueprint...."
|
47
|
-
provision_request = environment.boot(env_options)
|
48
|
-
|
49
|
-
# Booting the environment instance with a timeout of 1800sec (30mins).
|
50
|
-
# Adjust as necessary depending of the size of the environment.
|
51
|
-
provision_request.ready!(1800)
|
52
|
-
|
53
|
-
puts "-------------------"
|
54
|
-
if !provision_request.successful? then
|
55
|
-
puts "Boot environment FAILED!!!"
|
56
|
-
puts "Check cloud.engineyard.com for more details"
|
57
|
-
exit
|
58
|
-
end
|
59
|
-
|
60
|
-
puts "Boot environment SUCCEDED!!!"
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# Very basic example of how to boot a given environment from a blueprint
|
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: boot_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
|
+
opts.on('-b', '--blueprint NAME', 'Blueprint name') { |v| options[:blueprint_name] = v }
|
17
|
+
|
18
|
+
end.parse!
|
19
|
+
|
20
|
+
# Token comes from '~/.eyrc'
|
21
|
+
eyrc = YAML.load_file(File.expand_path("~/.eyrc"))
|
22
|
+
|
23
|
+
#client = Ey::Core::Client.new(token: "abcdefghijklmnrstuvwxyz123456789")
|
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
|
+
if environment.servers.count > 0 then
|
33
|
+
puts "Environment has instances running, are you sure you want to boot it?"
|
34
|
+
exit
|
35
|
+
end
|
36
|
+
|
37
|
+
# Get blueprint's name for cloud.engineyard.com
|
38
|
+
blueprint = environment.blueprints.first(name: options[:blueprint_name])
|
39
|
+
if !blueprint then
|
40
|
+
puts "Could not find the specified blueprint."
|
41
|
+
puts "Check cloud.engineyard.com for more details."
|
42
|
+
exit
|
43
|
+
end
|
44
|
+
|
45
|
+
env_options = {"blueprint_id": blueprint.id}
|
46
|
+
puts "Booting environment using an specific blueprint...."
|
47
|
+
provision_request = environment.boot(env_options)
|
48
|
+
|
49
|
+
# Booting the environment instance with a timeout of 1800sec (30mins).
|
50
|
+
# Adjust as necessary depending of the size of the environment.
|
51
|
+
provision_request.ready!(1800)
|
52
|
+
|
53
|
+
puts "-------------------"
|
54
|
+
if !provision_request.successful? then
|
55
|
+
puts "Boot environment FAILED!!!"
|
56
|
+
puts "Check cloud.engineyard.com for more details"
|
57
|
+
exit
|
58
|
+
end
|
59
|
+
|
60
|
+
puts "Boot environment SUCCEDED!!!"
|
data/examples/console/README.md
CHANGED
@@ -1,14 +1,14 @@
|
|
1
|
-
## Examples and snippets to use with the `ey-core console`
|
2
|
-
|
3
|
-
### Getting started
|
4
|
-
|
5
|
-
With the _ey-core_ gem comes the `ey-core console` utility which allows to query the CoreAPI interactively. Below are a series of snippets with commands that will allow actions that normally are done through the EY dashboard, and others which aren't implemented yet but the CoreAPI already supports.
|
6
|
-
|
7
|
-
The backend will automatically allow/reject actions based on the api token the console is using. Upon a successful `ey-core login` said token is written on `$HOME/.ey-core` and picked up from there by the console. It's a good practice to issue `ey-core whoami` before opening the console to double check that the desired user is logged in.
|
8
|
-
|
9
|
-
- Addresses
|
10
|
-
- [List addresses allocated to the account](address.md#list-addresses-on-an-account)
|
11
|
-
- [Provision a new address](address.md#provision-new-address)
|
12
|
-
- [Attach an address to an instance/server](address.md#attach-address-to-instance)
|
13
|
-
- [Detach an address from an instance/server](address.md#detach-address-from-instance)
|
14
|
-
|
1
|
+
## Examples and snippets to use with the `ey-core console`
|
2
|
+
|
3
|
+
### Getting started
|
4
|
+
|
5
|
+
With the _ey-core_ gem comes the `ey-core console` utility which allows to query the CoreAPI interactively. Below are a series of snippets with commands that will allow actions that normally are done through the EY dashboard, and others which aren't implemented yet but the CoreAPI already supports.
|
6
|
+
|
7
|
+
The backend will automatically allow/reject actions based on the api token the console is using. Upon a successful `ey-core login` said token is written on `$HOME/.ey-core` and picked up from there by the console. It's a good practice to issue `ey-core whoami` before opening the console to double check that the desired user is logged in.
|
8
|
+
|
9
|
+
- Addresses
|
10
|
+
- [List addresses allocated to the account](address.md#list-addresses-on-an-account)
|
11
|
+
- [Provision a new address](address.md#provision-new-address)
|
12
|
+
- [Attach an address to an instance/server](address.md#attach-address-to-instance)
|
13
|
+
- [Detach an address from an instance/server](address.md#detach-address-from-instance)
|
14
|
+
|
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
|
+
|