class Humidifier::CLI
A CLI
for running commands to manipulate the stacks that Humidifier
knows about.
Public Instance Methods
change(name = nil)
click to toggle source
# File lib/humidifier/cli.rb, line 14 def change(name = nil) authorize stack_names_from(name).each do |stack_name| directory = Directory.new(stack_name) puts "🛠 Creating a changeset for #{directory.stack_name}" directory.create_change_set end end
deploy(name = nil, *parameters)
click to toggle source
# File lib/humidifier/cli.rb, line 29 def deploy(name = nil, *parameters) authorize stack_names_from(name).each do |stack_name| directory = Directory.new(stack_name, prefix: options[:prefix]) puts "🚀 Deploying #{directory.stack_name}" directory.deploy(options[:wait], parameters_from(parameters)) end end
display(name, pattern = nil)
click to toggle source
# File lib/humidifier/cli.rb, line 42 def display(name, pattern = nil) directory = Directory.new(name, pattern: pattern && /#{pattern}/i) puts "📄 Displaying #{directory.stack_name}" puts directory.to_cf end
parameters_from(opts)
click to toggle source
# File lib/humidifier/cli.rb, line 106 def parameters_from(opts) opts.map do |opt| key, value = opt.split("=") { parameter_key: key, parameter_value: value } end end
prelude()
click to toggle source
# File lib/humidifier/cli.rb, line 113 def prelude command = @_invocations.values.dig(0, 0) command = command ? "#{command} " : "" puts "\033[1mhumidifier #{command}v#{VERSION}\033[0m" end
safe_execute() { || ... }
click to toggle source
# File lib/humidifier/cli.rb, line 119 def safe_execute prelude start = Time.now.to_f yield rescue Error => error raise error if options[:debug] puts error.message exit 1 else puts "✨ Done in %.2fs." % (Time.now.to_f - start) end
stack_names_from(name)
click to toggle source
# File lib/humidifier/cli.rb, line 132 def stack_names_from(name) name ? [name] : Humidifier.config.stack_names end
stacks()
click to toggle source
# File lib/humidifier/cli.rb, line 50 def stacks puts "🗒 Listing stacks" puts Humidifier.config.stack_names.sort.map { |name| "- #{name}" } end
upgrade()
click to toggle source
# File lib/humidifier/cli.rb, line 56 def upgrade print "💾 Downloading..." version = Upgrade.perform puts " upgraded to v#{version}" end
upload(name = nil)
click to toggle source
# File lib/humidifier/cli.rb, line 64 def upload(name = nil) authorize stack_names_from(name).each do |stack_name| directory = Directory.new(stack_name) puts "📬 Uploading #{directory.stack_name}" directory.upload end end
validate(name = nil)
click to toggle source
# File lib/humidifier/cli.rb, line 77 def validate(name = nil) authorize print "🔍 Validating... " valid = stack_names_from(name).all? do |stack_name| Directory.new(stack_name).valid? end puts valid ? "Valid." : "Invalid." end
version()
click to toggle source
# File lib/humidifier/cli.rb, line 91 def version filepath = File.expand_path("../../#{SPECIFICATION}", __dir__) version = JSON.parse(File.read(filepath))["ResourceSpecificationVersion"] puts "📦 CloudFormation specification v#{version}" end