Sha256: a9c5ca648a601d96bbfcc31a475139fe24b05eb557b75fa6beadbcf164e2bcfc
Contents?: true
Size: 931 Bytes
Versions: 1
Compression:
Stored size: 931 Bytes
Contents
require 'aws-sdk-v1' module Capistrano module Ec2RoleTag class AwsEc2Loader def initialize(options = {}) if options[:region].nil? @ec2 = AWS::EC2::Client.new(region: 'us-west-2') else @ec2 = AWS::EC2::Client.new(region: options[:region]) end end def fetch(options = {}) apps = @ec2.describe_instances( {filters: [ {name: "tag:Stage", values: [options[:stage].to_s]}, {name: "tag:Role", values: [options[:role].to_s]}, {name: "instance-state-name", values: ["running"]} ]}) return [] if apps.reservation_set.empty? result = [] apps.reservation_set.each do |reservation| next if reservation.instances_set.empty? result += reservation.instances_set.map {|instance| instance.private_dns_name } end return result end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
capistrano-ec2_role_tag-0.0.6 | lib/capistrano/ec2_role_tag/aws_ec2_loader.rb |