Sha256: 849b0b6eb97d7f70aaf62b24c9e56b7d8431a1085377f62fc2a1abe8acf66d41

Contents?: true

Size: 1.24 KB

Versions: 19

Compression:

Stored size: 1.24 KB

Contents

require "thor"
require "aws_pocketknife"

module AwsPocketknife
  module Cli
    class Asg < Thor

      desc "list", "list all autoscaling groups"
      def list
        asgs = AwsPocketknife::Asg.list
        print_asg(asgs: asgs)
      end

      desc "desc ASG_NAME", "describe autoscaling group name"
      def desc(asg_name)
        asg = AwsPocketknife::Asg.describe_asg_by_name(name: asg_name)
        if asg.auto_scaling_groups.empty?
          puts "ASG #{asg_name} not found"
        else
          AwsPocketknife::Asg.nice_print(object: asg.to_h)
        end
      end

      private

      def print_asg(asgs: [])
        headers = ["name", "min size", "max size", "desired capacity", "instances", "elb"]
        data = []
        if asgs.length > 0
          asgs.each do |asg|
            instances = []
            asg.instances.map { |instance| instances << instance.instance_id }
            data << [asg.auto_scaling_group_name, asg.min_size, asg.max_size,
                     asg.desired_capacity, instances.join(", "), asg.load_balancer_names.join(", ")]
          end
          AwsPocketknife::Asg.pretty_table(headers: headers, data: data)
        else
          puts "No asg(s) found for name #{args[:name]}"
        end
      end

    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
aws_pocketknife-0.1.28 lib/aws_pocketknife/cli/asg.rb
aws_pocketknife-0.1.27 lib/aws_pocketknife/cli/asg.rb
aws_pocketknife-0.1.26 lib/aws_pocketknife/cli/asg.rb
aws_pocketknife-0.1.25 lib/aws_pocketknife/cli/asg.rb
aws_pocketknife-0.1.24 lib/aws_pocketknife/cli/asg.rb
aws_pocketknife-0.1.23 lib/aws_pocketknife/cli/asg.rb
aws_pocketknife-0.1.21 lib/aws_pocketknife/cli/asg.rb
aws_pocketknife-0.1.20 lib/aws_pocketknife/cli/asg.rb
aws_pocketknife-0.1.19 lib/aws_pocketknife/cli/asg.rb
aws_pocketknife-0.1.18 lib/aws_pocketknife/cli/asg.rb
aws_pocketknife-0.1.17 lib/aws_pocketknife/cli/asg.rb
aws_pocketknife-0.1.16 lib/aws_pocketknife/cli/asg.rb
aws_pocketknife-0.1.15 lib/aws_pocketknife/cli/asg.rb
aws_pocketknife-0.1.14 lib/aws_pocketknife/cli/asg.rb
aws_pocketknife-0.1.13 lib/aws_pocketknife/cli/asg.rb
aws_pocketknife-0.1.12 lib/aws_pocketknife/cli/asg.rb
aws_pocketknife-0.1.11 lib/aws_pocketknife/cli/asg.rb
aws_pocketknife-0.1.10 lib/aws_pocketknife/cli/asg.rb
aws_pocketknife-0.1.9 lib/aws_pocketknife/cli/asg.rb