exe/dd2tf in dd2tf-0.1.1 vs exe/dd2tf in dd2tf-0.1.2

- old
+ new

@@ -3,56 +3,15 @@ require 'dd2tf' require 'thor' require 'dogapi' module Dd2tf - module Util - def initialize(*args, &block) - super - client - end - - private - - def client - return @client unless @client.nil? - config = Config.new(options[:dd_api_key], options[:dd_app_key]) - @client ||= ::Dogapi::Client.new(config.api_key, config.app_key) - end - end - - class Print < Thor - include Util - - desc "user", "ipmort user resource to tfstate" - def user - puts ::Dd2tf::Import::User.new(client).print - end - - desc "downtime", "ipmort downtime resource to tfstate" - def downtime - puts ::Dd2tf::Import::Downtime.new(client).print - end - - desc "monitor", "ipmort monitor resource to tfstate" - def monitor - puts ::Dd2tf::Import::Monitor.new(client).print - end - - desc "timeboard", "ipmort timeboard resource to tfstate" - def timeboard - puts ::Dd2tf::Import::Timeboard.new(client).print - end - end - class Cli < Thor - include Util + include Thor::Actions class_option :dd_api_key, type: :string class_option :dd_app_key, type: :string - desc "print [resource]", "Print import resource command from remote to tfstate." - subcommand 'print', Print desc "puts monitor configuration as terraform config", "puts monitor config" def monitor puts Monitor.new(client).output end @@ -63,9 +22,17 @@ end desc "puts user configuration as terraform config", "puts user config" def user puts User.new(client).output + end + + private + + def client + return @client unless @client.nil? + config = Config.new(options[:dd_api_key], options[:dd_app_key]) + @client ||= ::Dogapi::Client.new(config.api_key, config.app_key) end end end Dd2tf::Cli.start