diff --git a/lib/cap-ec2/ec2-handler.rb b/lib/cap-ec2/ec2-handler.rb index cc32a6e..52c9cc0 100644 --- a/lib/cap-ec2/ec2-handler.rb +++ b/lib/cap-ec2/ec2-handler.rb @@ -95,10 +95,14 @@ def instance_has_tag?(instance, key, value) def instance_status_ok?(instance) @ec2.any? do |_, ec2| - ec2.describe_instance_status( - instance_ids: [instance.instance_id], - filters: [{ name: 'instance-status.status', values: %w(ok) }] - ).instance_statuses.length == 1 + begin + ec2.describe_instance_status( + instance_ids: [instance.instance_id], + filters: [{ name: 'instance-status.status', values: %w(ok) }] + ).instance_statuses.length == 1 + rescue Aws::EC2::Errors::InvalidInstanceIDNotFound + false + end end end end diff --git a/lib/cap-ec2/utils.rb b/lib/cap-ec2/utils.rb index 2c7a38d..cc66033 100644 --- a/lib/cap-ec2/utils.rb +++ b/lib/cap-ec2/utils.rb @@ -55,8 +55,8 @@ def load_config end config_location = File.expand_path(fetch(:ec2_config), Dir.pwd) if fetch(:ec2_config) - if config_location && File.exists?(config_location) - config = YAML.load(ERB.new(File.read(fetch(:ec2_config)))) + if config_location && File.exist?(config_location) + config = YAML.load(ERB.new(File.read(fetch(:ec2_config))).result) if config set :ec2_project_tag, config['project_tag'] if config['project_tag'] set :ec2_roles_tag, config['roles_tag'] if config['roles_tag']