Class: Bosh::Cli::Command::Job
Constant Summary
Constants inherited from Base
Base::BLOBS_DIR, Base::BLOBS_INDEX_FILE
Instance Attribute Summary
Attributes inherited from Base
#cache, #config, #options, #out, #usage, #work_dir
Instance Method Summary collapse
Methods inherited from Base
#blob_manager, #blobstore, command, #confirmed?, #director, #dry_run?, #exit_code, #full_target_name, #initialize, #interactive?, #logged_in?, #non_interactive?, #redirect, #release, #run, #show_usage, #target_name, #target_version, #task_report, #verbose?
Constructor Details
This class inherits a constructor from Bosh::Cli::Command::Base
Instance Method Details
#generate(name) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/cli/commands/job.rb', line 6 def generate(name) check_if_release_dir unless name.bosh_valid_id? err("`#{name}' is not a vaild BOSH id") end job_dir = File.join("jobs", name) if File.exists?(job_dir) err("Job `#{name}' already exists, please pick another name") end say("create\t#{job_dir}") FileUtils.mkdir_p(job_dir) templates_dir = File.join(job_dir, "templates") say("create\t#{templates_dir}") FileUtils.mkdir_p(templates_dir) spec_file = File.join(job_dir, "spec") say("create\t#{spec_file}") FileUtils.touch(spec_file) monit_file = File.join(job_dir, "monit") say("create\t#{monit_file}") FileUtils.touch(monit_file) File.open(spec_file, "w") do |f| f.write("---\nname: #{name}\ntemplates:\n\npackages:\n") end say("\nGenerated skeleton for `#{name}' job in `#{job_dir}'") end |