lib/veewee/command/parallels.rb in veewee-0.3.7 vs lib/veewee/command/parallels.rb in veewee-0.3.9
- old
+ new
@@ -1,125 +1,35 @@
module Veewee
module Command
- class Parallels< Veewee::Command::GroupBase
+ class Parallels < Veewee::Command::GroupBase
- register "parallels", "Subcommand for Parallels"
+ register :command => "parallels",
+ :description => "Subcommand for Parallels",
+ :provider => "parallels"
+
desc "build [BOX_NAME]", "Build box"
+ # TODO move common build options into array
method_option :force,:type => :boolean , :default => false, :aliases => "-f", :desc => "force the build"
- method_option :debug,:type => :boolean , :default => false, :aliases => "-d", :desc => "enable debugging"
method_option :auto,:type => :boolean , :default => false, :aliases => "-a", :desc => "auto answers"
+ method_option :checksum , :type => :boolean , :default => false, :desc => "verify checksum"
method_option :postinstall_include, :type => :array, :default => [], :aliases => "-i", :desc => "ruby regexp of postinstall filenames to additionally include"
method_option :postinstall_exclude, :type => :array, :default => [], :aliases => "-e", :desc => "ruby regexp of postinstall filenames to exclude"
def build(box_name)
- venv=Veewee::Environment.new(options)
- venv.ui=env.ui
- venv.providers["parallels"].get_box(box_name).build(options)
+ env.get_box(box_name).build(options)
end
- method_option :force,:type => :boolean , :default => false, :aliases => "-f", :desc => "force the destroy"
+ desc "export [BOX_NAME]", "Exports the basebox to the vagrant-parallels format"
method_option :debug,:type => :boolean , :default => false, :aliases => "-d", :desc => "enable debugging"
- desc "destroy [BOXNAME]", "Destroys the virtualmachine that was built"
- def destroy(box_name)
- venv=Veewee::Environment.new(options)
- venv.ui=env.ui
- venv.providers["parallels"].get_box(box_name).destroy(options)
+ method_option :force,:type => :boolean , :default => false, :aliases => "-f", :desc => "overwrite existing file"
+ method_option :vagrantfile,:type => :string , :default => "", :desc => "specify Vagrantfile"
+ def export(box_name)
+ env.get_box(box_name).export_vagrant(options)
end
- method_option :debug,:type => :boolean , :default => false, :aliases => "-d", :desc => "enable debugging"
- method_option :force,:type => :boolean , :default => false, :aliases => "-f", :desc => "force the shutdown"
- desc "halt [BOXNAME]", "Activates a shutdown the virtualmachine"
- def halt(box_name)
- venv=Veewee::Environment.new(options)
- venv.ui=env.ui
- venv.providers["parallels"].get_box(box_name).halt(options)
- end
-
- method_option :debug,:type => :boolean , :default => false, :aliases => "-d", :desc => "enable debugging"
- method_option :nogui,:type => :boolean , :default => false, :aliases => "-n", :desc => "no gui"
- desc "up [BOXNAME]", "Starts a Box"
- def up(box_name)
- venv=Veewee::Environment.new(options)
- venv.ui=env.ui
- venv.providers["parallels"].get_box(box_name).up(options)
- end
-
- desc "ssh [BOXNAME] [COMMAND]", "SSH to box"
- method_option :debug,:type => :boolean , :default => false, :aliases => "-d", :desc => "enable debugging"
- def ssh(box_name,command=nil)
- venv=Veewee::Environment.new(options)
- venv.ui=env.ui
- venv.providers["parallels"].get_box(box_name).issh(command)
- end
-
- desc "define [BOXNAME] [TEMPLATE]", "Define a new basebox starting from a template"
- method_option :force,:type => :boolean , :default => false, :aliases => "-f", :desc => "overwrite the definition"
- method_option :debug,:type => :boolean , :default => false, :aliases => "-d", :desc => "enable debugging"
- def define(definition_name, template_name)
- venv=Veewee::Environment.new(options)
- venv.ui=env.ui
- venv.definitions.define(definition_name,template_name,options)
- env.ui.info "The basebox '#{definition_name}' has been successfully created from the template '#{template_name}'"
- env.ui.info "You can now edit the definition files stored in definitions/#{definition_name} or build the box with:"
- env.ui.info "veewee parallels build '#{definition_name}'"
- end
-
- desc "undefine [BOXNAME]", "Removes the definition of a basebox "
- method_option :debug,:type => :boolean , :default => false, :aliases => "-d", :desc => "enable debugging"
- def undefine(definition_name)
- env.ui.info "Removing definition #{definition_name}" , :prefix => false
- begin
- venv=Veewee::Environment.new(options)
- venv.ui=env.ui
- venv.definitions.undefine(definition_name,options)
- env.ui.info "Definition #{definition_name} successfully removed",:prefix => false
- rescue Error => ex
- env.ui.error "#{ex}" , :prefix => false
- exit -1
- end
- end
-
- desc "validate [NAME]", "Validates a box against parallels compliancy rules"
- method_option :debug,:type => :boolean , :default => false, :aliases => "-d", :desc => "enable debugging"
+ desc "validate [BOX_NAME]", "Validates a box against parallels compliancy rules"
method_option :tags,:type => :array, :default => %w{parallels puppet chef}, :aliases => "-t", :desc => "tags to validate"
def validate(box_name)
- venv=Veewee::Environment.new(options)
- venv.ui=env.ui
- venv.providers["parallels"].get_box(box_name).validate_parallels(options)
+ env.get_box(box_name).validate_parallels(options)
end
-
- desc "ostypes", "List the available Operating System types"
- method_option :debug,:type => :boolean , :default => false, :aliases => "-d", :desc => "enable debugging"
- def ostypes
- venv=Veewee::Environment.new(options)
- venv.ui=env.ui
- venv.ostypes.each do |name|
- env.ui.info "- #{name}"
- end
- end
-
- desc "templates", "List the currently available templates"
- method_option :debug,:type => :boolean , :default => false, :aliases => "-d", :desc => "enable debugging"
- def templates
- env.ui.info "The following templates are available:",:prefix => false
- venv=Veewee::Environment.new(options)
- venv.ui=env.ui
- venv.templates.each do |name,template|
- env.ui.info "veewee parallels define '<box_name>' '#{name}'",:prefix => false
- end
- end
-
- desc "list", "Lists all defined boxes"
- method_option :debug,:type => :boolean , :default => false, :aliases => "-d", :desc => "enable debugging"
- def list
- env.ui.info "The following local definitions are available:",:prefix => false
- venv=Veewee::Environment.new(options)
- venv.ui=env.ui
- venv.definitions.each do |name,definition|
- env.ui.info "- #{name}"
- end
- end
-
-
end
-
end
end