class Deploy::Eb::State

Public Class Methods

new(env) click to toggle source
# File lib/deploy/eb/state.rb, line 4
def initialize(env)
  @env = env
end

Public Instance Methods

application_name() click to toggle source
# File lib/deploy/eb/state.rb, line 24
def application_name
  environment_info.application_name
end
environment_info() click to toggle source
# File lib/deploy/eb/state.rb, line 20
def environment_info
  @environment_info ||= environment_description_message.environments[0]
end
exists?() click to toggle source
# File lib/deploy/eb/state.rb, line 8
def exists?
  !environment_info.nil?
end
ready?() click to toggle source
# File lib/deploy/eb/state.rb, line 12
def ready?
  environment_info.status.eql? 'Ready'
end
switch() click to toggle source
# File lib/deploy/eb/state.rb, line 16
def switch
  system("eb use #{@env}")
end
version_exists?(version) click to toggle source
# File lib/deploy/eb/state.rb, line 28
def version_exists?(version)
  request = {application_name: application_name, version_labels: [version]}
  response = elasticbeanstalk.describe_application_versions(request)
  ! response.application_versions.empty?
end

Private Instance Methods

elasticbeanstalk() click to toggle source
# File lib/deploy/eb/state.rb, line 36
def elasticbeanstalk
  @elasticbeanstalk ||=
    ErrorHandler.with_error_handling { Aws::ElasticBeanstalk::Client.new }
end
environment_description_message() click to toggle source
# File lib/deploy/eb/state.rb, line 41
def environment_description_message
  ErrorHandler.with_error_handling do
    elasticbeanstalk.describe_environments(
      environment_names: [@env]
    )
  end
end