Class: EbDeployer::AWSDriver::Beanstalk
- Inherits:
-
Object
- Object
- EbDeployer::AWSDriver::Beanstalk
- Defined in:
- lib/eb_deployer/aws_driver/beanstalk.rb
Instance Attribute Summary collapse
-
#client ⇒ Object
readonly
Returns the value of attribute client.
Instance Method Summary collapse
- #application_exists?(app) ⇒ Boolean
- #application_version_labels(app_name) ⇒ Object
- #application_versions(app_name) ⇒ Object
- #create_application(app) ⇒ Object
- #create_application_version(app_name, version_label, source_bundle) ⇒ Object
- #create_environment(app_name, env_name, stack_name, cname_prefix, version, tier, settings) ⇒ Object
- #delete_application(app) ⇒ Object
- #delete_application_version(app_name, version, delete_source_bundle) ⇒ Object
- #delete_environment(app_name, env_name) ⇒ Object
- #environment_cname(app_name, env_name) ⇒ Object
- #environment_cname_prefix(app_name, env_name) ⇒ Object
- #environment_exists?(app_name, env_name) ⇒ Boolean
- #environment_health_state(app_name, env_name) ⇒ Object
- #environment_names_for_application(app_name) ⇒ Object
- #environment_swap_cname(app_name, env1, env2) ⇒ Object
- #fetch_events(app_name, env_name, params, &block) ⇒ Object
-
#initialize(client = AWS::ElasticBeanstalk.new.client) ⇒ Beanstalk
constructor
A new instance of Beanstalk.
- #update_environment(app_name, env_name, version, tier, settings) ⇒ Object
Constructor Details
#initialize(client = AWS::ElasticBeanstalk.new.client) ⇒ Beanstalk
Returns a new instance of Beanstalk.
6 7 8 |
# File 'lib/eb_deployer/aws_driver/beanstalk.rb', line 6 def initialize(client=AWS::ElasticBeanstalk.new.client) @client = client end |
Instance Attribute Details
#client ⇒ Object (readonly)
Returns the value of attribute client.
4 5 6 |
# File 'lib/eb_deployer/aws_driver/beanstalk.rb', line 4 def client @client end |
Instance Method Details
#application_exists?(app) ⇒ Boolean
18 19 20 |
# File 'lib/eb_deployer/aws_driver/beanstalk.rb', line 18 def application_exists?(app) @client.describe_applications(:application_names => [app])[:applications].any? end |
#application_version_labels(app_name) ⇒ Object
75 76 77 |
# File 'lib/eb_deployer/aws_driver/beanstalk.rb', line 75 def application_version_labels(app_name) application_versions(app_name).map { |apv| apv[:version_label] } end |
#application_versions(app_name) ⇒ Object
79 80 81 82 |
# File 'lib/eb_deployer/aws_driver/beanstalk.rb', line 79 def application_versions(app_name) request = { :application_name => app_name } @client.describe_application_versions(request)[:application_versions] end |
#create_application(app) ⇒ Object
10 11 12 |
# File 'lib/eb_deployer/aws_driver/beanstalk.rb', line 10 def create_application(app) @client.create_application(:application_name => app) end |
#create_application_version(app_name, version_label, source_bundle) ⇒ Object
69 70 71 72 73 |
# File 'lib/eb_deployer/aws_driver/beanstalk.rb', line 69 def create_application_version(app_name, version_label, source_bundle) @client.create_application_version(:application_name => app_name, :source_bundle => source_bundle, :version_label => version_label) end |
#create_environment(app_name, env_name, stack_name, cname_prefix, version, tier, settings) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/eb_deployer/aws_driver/beanstalk.rb', line 42 def create_environment(app_name, env_name, stack_name, cname_prefix, version, tier, settings) request = { :application_name => app_name, :environment_name => env_name, :solution_stack_name => stack_name, :version_label => version, :option_settings => settings, :tier => environment_tier(tier), :cname_prefix => cname_prefix } @client.create_environment(request) end |
#delete_application(app) ⇒ Object
14 15 16 |
# File 'lib/eb_deployer/aws_driver/beanstalk.rb', line 14 def delete_application(app) @client.delete_application(:application_name => app) end |
#delete_application_version(app_name, version, delete_source_bundle) ⇒ Object
60 61 62 63 64 65 66 67 |
# File 'lib/eb_deployer/aws_driver/beanstalk.rb', line 60 def delete_application_version(app_name, version, delete_source_bundle) request = { :application_name => app_name, :version_label => version, :delete_source_bundle => delete_source_bundle } @client.delete_application_version(request) end |
#delete_environment(app_name, env_name) ⇒ Object
56 57 58 |
# File 'lib/eb_deployer/aws_driver/beanstalk.rb', line 56 def delete_environment(app_name, env_name) @client.terminate_environment(:environment_name => env_name) end |
#environment_cname(app_name, env_name) ⇒ Object
97 98 99 100 |
# File 'lib/eb_deployer/aws_driver/beanstalk.rb', line 97 def environment_cname(app_name, env_name) env = alive_envs(app_name, [env_name]).first env && env[:cname] end |
#environment_cname_prefix(app_name, env_name) ⇒ Object
90 91 92 93 94 95 |
# File 'lib/eb_deployer/aws_driver/beanstalk.rb', line 90 def environment_cname_prefix(app_name, env_name) cname = environment_cname(app_name, env_name) if cname =~ /^(.+)\.elasticbeanstalk\.com/ $1 end end |
#environment_exists?(app_name, env_name) ⇒ Boolean
34 35 36 |
# File 'lib/eb_deployer/aws_driver/beanstalk.rb', line 34 def environment_exists?(app_name, env_name) alive_envs(app_name, [env_name]).any? end |
#environment_health_state(app_name, env_name) ⇒ Object
102 103 104 105 |
# File 'lib/eb_deployer/aws_driver/beanstalk.rb', line 102 def environment_health_state(app_name, env_name) env = alive_envs(app_name, [env_name]).first env && env[:health] end |
#environment_names_for_application(app_name) ⇒ Object
38 39 40 |
# File 'lib/eb_deployer/aws_driver/beanstalk.rb', line 38 def environment_names_for_application(app_name) alive_envs(app_name).collect { |env| env[:environment_name] } end |
#environment_swap_cname(app_name, env1, env2) ⇒ Object
107 108 109 110 111 |
# File 'lib/eb_deployer/aws_driver/beanstalk.rb', line 107 def environment_swap_cname(app_name, env1, env2) env1_id, env2_id = convert_env_name_to_id(app_name, [env1, env2]) @client.swap_environment_cnam_es(:source_environment_id => env1_id, :destination_environment_id => env2_id) end |
#fetch_events(app_name, env_name, params, &block) ⇒ Object
84 85 86 87 88 |
# File 'lib/eb_deployer/aws_driver/beanstalk.rb', line 84 def fetch_events(app_name, env_name, params, &block) response = @client.describe_events(params.merge(:application_name => app_name, :environment_name => env_name)) return [response[:events], response[:next_token]] end |
#update_environment(app_name, env_name, version, tier, settings) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/eb_deployer/aws_driver/beanstalk.rb', line 22 def update_environment(app_name, env_name, version, tier, settings) env_id = convert_env_name_to_id(app_name, [env_name]).first request = { :environment_id => env_id, :version_label => version, :option_settings => settings, :tier => environment_tier(tier) } @client.update_environment(request) end |