class Docli::Droplets
Public Class Methods
create_new_droplets(argv)
click to toggle source
# File lib/docli/create_new_droplets.rb, line 3 def self.create_new_droplets argv options = {} opt_parser = OptionParser.new do |opt| opt.banner = "Usage: docli droplets create [OPTIONS]" opt.separator "" opt.separator "Commands" opt.separator " create: create new droplets on DigitalOcean" opt.separator "" opt.separator "Options" opt.on("-f", "--file ", "create from YAML config file") do |file| options[:file_config] = file end opt.on( "-n ", "--name ", "droplets name (require for the hostname of droplets" ) do |name| options[:name] = name end opt.on("-r ", "--region ", "define region, default NYC1") do |region| options[:region] = region end opt.on("-s ", "--size ", "define size of droplets, exp: 512mb, 1gb... default 512mb") do |s| options[:size] = s end opt.on("-i ", "--image ", "define image name or image id on DO, default 21669205 - Ubuntu 16x04") do |i| options[:image] = i end opt.on("--ipv6 ", "turn on or off ipv6 on droplets [true or false], default true") do |ipv6| options[:ipv6] = ipv6 end opt.on("-v ", "--volumes ", "define block storage will attach to droplets support one per one") do |volumes| options[:volumes] = volumes end opt.on("-m ", "--monitoring ", "true or false: enable monitoring in new droplets") do |monitoring| options[:monitoring] = monitoring end opt.on("-u ", "--user-data ", "Add command or cloud config on first boot droplets") do |user_data| options[:user_data] = user_data end opt.on("-p", "--private-networking", "true or false: enable private network eth") do |priv_network| options[:private_networing] = priv_network end opt.on("-b", "--backups", "true or false: enabled auto backup") do |backups| options[:backups] = backups end opt.on("-t ", "--tags ", Array, "Add tags to droplets") do |tags| options[:tags] = tags end opt.on("-h", "--help", "show help message") do puts opt_parser exit end end opt_parser.parse! if options[:name].nil? && options[:file_config].nil? puts "Please specify the name of droplet".red puts opt_parser exit elsif options[:name].nil? && !File.exists?(options[:file_config]) puts "Please specify file that you want to use for creation".red puts opt_parser exit end Cmd::NewDroplets.create_new_droplets options end