Class: Bosh::Gen::Command
- Inherits:
-
Thor
- Object
- Thor
- Bosh::Gen::Command
- Includes:
- Thor::Actions
- Defined in:
- lib/bosh/gen/cli.rb
Instance Method Summary collapse
- #extract_job(source_package_path) ⇒ Object
- #extract_pkg(source_package_path) ⇒ Object
- #job(name) ⇒ Object
- #manifest(name, release_path) ⇒ Object
- #micro(job_name = "micro") ⇒ Object
- #new(path) ⇒ Object
- #package(name) ⇒ Object
- #source(name, uri) ⇒ Object
- #template(job_name, file_path) ⇒ Object
Instance Method Details
#extract_job(source_package_path) ⇒ Object
94 95 96 97 98 |
# File 'lib/bosh/gen/cli.rb', line 94 def extract_job(source_package_path) source_package_path = File.(source_package_path) require 'bosh/gen/generators/extract_job_generator' Bosh::Gen::Generators::ExtractJobGenerator.start([source_package_path]) end |
#extract_pkg(source_package_path) ⇒ Object
103 104 105 106 107 |
# File 'lib/bosh/gen/cli.rb', line 103 def extract_pkg(source_package_path) source_package_path = File.(source_package_path) require 'bosh/gen/generators/extract_package_generator' Bosh::Gen::Generators::ExtractPackageGenerator.start([source_package_path]) end |
#job(name) ⇒ Object
69 70 71 72 73 |
# File 'lib/bosh/gen/cli.rb', line 69 def job(name) dependencies = [:dependencies] || [] require 'bosh/gen/generators/job_generator' Bosh::Gen::Generators::JobGenerator.start([name, dependencies, 'simple']) end |
#manifest(name, release_path) ⇒ Object
119 120 121 122 123 124 125 126 127 |
# File 'lib/bosh/gen/cli.rb', line 119 def manifest(name, release_path) release_path = File.(release_path) ip_addresses = ["addresses"] || [] job_names = ["jobs"] || [] flags = { :force => ["force"] || false, :disk => [:disk] } require 'bosh/gen/generators/deployment_manifest_generator' Bosh::Gen::Generators::DeploymentManifestGenerator.start( [name, release_path, ip_addresses, job_names, flags]) end |
#micro(job_name = "micro") ⇒ Object
78 79 80 81 82 |
# File 'lib/bosh/gen/cli.rb', line 78 def micro(job_name = "micro") specific_jobs = [:jobs] || [] require 'bosh/gen/generators/micro_job_generator' Bosh::Gen::Generators::MicroJobGenerator.start([job_name, specific_jobs]) end |
#new(path) ⇒ Object
16 17 18 19 |
# File 'lib/bosh/gen/cli.rb', line 16 def new(path) require 'bosh/gen/generators/new_release_generator' Bosh::Gen::Generators::NewReleaseGenerator.start([path]) end |
#package(name) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/bosh/gen/cli.rb', line 30 def package(name) dependencies = [:dependencies] || [] if [:apt] require 'bosh/gen/generators/package_apt_generator' Bosh::Gen::Generators::PackageAptGenerator.start([name, dependencies]) else files = [:files] || [] sources = [:src] || [] require 'bosh/gen/generators/package_generator' Bosh::Gen::Generators::PackageGenerator.start( [name, dependencies, files, sources]) end end |
#source(name, uri) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/bosh/gen/cli.rb', line 47 def source(name, uri) flags = { :blob => [:blob] || false } dir = Dir.mktmpdir files = [] if File.exist?(uri) files = [uri] else say "Downloading #{uri}..." FileUtils.chdir(dir) do `wget '#{uri}'` files = Dir['*'].map {|f| File.(f)} end end require 'bosh/gen/generators/package_source_generator' Bosh::Gen::Generators::PackageSourceGenerator.start( [name, files, flags]) end |
#template(job_name, file_path) ⇒ Object
86 87 88 89 |
# File 'lib/bosh/gen/cli.rb', line 86 def template(job_name, file_path) require 'bosh/gen/generators/job_template_generator' Bosh::Gen::Generators::JobTemplateGenerator.start([job_name, file_path]) end |