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