Class: Mixlib::Install::ScriptGenerator
- Inherits:
-
Object
- Object
- Mixlib::Install::ScriptGenerator
- Defined in:
- lib/mixlib/install/script_generator.rb
Constant Summary collapse
- VALID_INSTALL_OPTS =
%w{omnibus_url endpoint http_proxy https_proxy install_flags install_msi_url license_id nightlies prerelease project root use_sudo sudo_command base_url}
Instance Attribute Summary collapse
-
#base_url ⇒ Object
Returns the value of attribute base_url.
-
#endpoint ⇒ Object
Returns the value of attribute endpoint.
-
#http_proxy ⇒ Object
Returns the value of attribute http_proxy.
-
#https_proxy ⇒ Object
Returns the value of attribute https_proxy.
-
#install_flags ⇒ Object
Returns the value of attribute install_flags.
-
#install_msi_url ⇒ Object
Returns the value of attribute install_msi_url.
-
#license_id ⇒ Object
Returns the value of attribute license_id.
-
#nightlies ⇒ Object
Returns the value of attribute nightlies.
-
#omnibus_url ⇒ Object
Returns the value of attribute omnibus_url.
-
#powershell ⇒ Object
Returns the value of attribute powershell.
-
#prerelease ⇒ Object
Returns the value of attribute prerelease.
-
#root ⇒ Object
Returns the value of attribute root.
-
#sudo_command ⇒ Object
Returns the value of attribute sudo_command.
-
#use_sudo ⇒ Object
Returns the value of attribute use_sudo.
-
#version ⇒ Object
Returns the value of attribute version.
Instance Method Summary collapse
-
#initialize(version, powershell = false, opts = {}) ⇒ ScriptGenerator
constructor
A new instance of ScriptGenerator.
- #install_command ⇒ Object
Constructor Details
#initialize(version, powershell = false, opts = {}) ⇒ ScriptGenerator
Returns a new instance of ScriptGenerator.
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/mixlib/install/script_generator.rb', line 78 def initialize(version, powershell = false, opts = {}) @version = (version || "latest").to_s.downcase @powershell = powershell @http_proxy = nil @https_proxy = nil @install_flags = nil @prerelease = false @nightlies = false @endpoint = "metadata" @omnibus_url = "#{Mixlib::Install::Dist::OMNITRUCK_ENDPOINT}/install.sh" @use_sudo = true @sudo_command = "sudo -E" @license_id = nil @project = Mixlib::Install::Dist::DEFAULT_PRODUCT.freeze @channel = "stable" @root = if powershell "$env:systemdrive\\#{Mixlib::Install::Dist::OMNIBUS_WINDOWS_INSTALL_DIR}\\#{Mixlib::Install::Dist::DEFAULT_PRODUCT}" else "#{Mixlib::Install::Dist::OMNIBUS_LINUX_INSTALL_DIR}/#{Mixlib::Install::Dist::DEFAULT_PRODUCT}" end parse_opts(opts) # Update root for chef-ice to use Habitat install directories if @project&.casecmp("chef-ice") == 0 @root = if powershell "$env:systemdrive\\#{Mixlib::Install::Dist::HABITAT_WINDOWS_INSTALL_DIR}\\chef\\chef-infra-client\\*\\*" else "#{Mixlib::Install::Dist::HABITAT_LINUX_INSTALL_DIR}/chef/chef-infra-client/*/*" end end end |
Instance Attribute Details
#base_url ⇒ Object
Returns the value of attribute base_url.
61 62 63 |
# File 'lib/mixlib/install/script_generator.rb', line 61 def base_url @base_url end |
#endpoint ⇒ Object
Returns the value of attribute endpoint.
38 39 40 |
# File 'lib/mixlib/install/script_generator.rb', line 38 def endpoint @endpoint end |
#http_proxy ⇒ Object
Returns the value of attribute http_proxy.
54 55 56 |
# File 'lib/mixlib/install/script_generator.rb', line 54 def http_proxy @http_proxy end |
#https_proxy ⇒ Object
Returns the value of attribute https_proxy.
55 56 57 |
# File 'lib/mixlib/install/script_generator.rb', line 55 def https_proxy @https_proxy end |
#install_flags ⇒ Object
Returns the value of attribute install_flags.
36 37 38 |
# File 'lib/mixlib/install/script_generator.rb', line 36 def install_flags @install_flags end |
#install_msi_url ⇒ Object
Returns the value of attribute install_msi_url.
58 59 60 |
# File 'lib/mixlib/install/script_generator.rb', line 58 def install_msi_url @install_msi_url end |
#license_id ⇒ Object
Returns the value of attribute license_id.
60 61 62 |
# File 'lib/mixlib/install/script_generator.rb', line 60 def license_id @license_id end |
#nightlies ⇒ Object
Returns the value of attribute nightlies.
34 35 36 |
# File 'lib/mixlib/install/script_generator.rb', line 34 def nightlies @nightlies end |
#omnibus_url ⇒ Object
Returns the value of attribute omnibus_url.
57 58 59 |
# File 'lib/mixlib/install/script_generator.rb', line 57 def omnibus_url @omnibus_url end |
#powershell ⇒ Object
Returns the value of attribute powershell.
30 31 32 |
# File 'lib/mixlib/install/script_generator.rb', line 30 def powershell @powershell end |
#prerelease ⇒ Object
Returns the value of attribute prerelease.
32 33 34 |
# File 'lib/mixlib/install/script_generator.rb', line 32 def prerelease @prerelease end |
#root ⇒ Object
Returns the value of attribute root.
40 41 42 |
# File 'lib/mixlib/install/script_generator.rb', line 40 def root @root end |
#sudo_command ⇒ Object
Returns the value of attribute sudo_command.
44 45 46 |
# File 'lib/mixlib/install/script_generator.rb', line 44 def sudo_command @sudo_command end |
#use_sudo ⇒ Object
Returns the value of attribute use_sudo.
42 43 44 |
# File 'lib/mixlib/install/script_generator.rb', line 42 def use_sudo @use_sudo end |
#version ⇒ Object
Returns the value of attribute version.
28 29 30 |
# File 'lib/mixlib/install/script_generator.rb', line 28 def version @version end |
Instance Method Details
#install_command ⇒ Object
112 113 114 115 116 117 118 119 |
# File 'lib/mixlib/install/script_generator.rb', line 112 def install_command vars = if powershell install_command_vars_for_powershell else install_command_vars_for_bourne end shell_code_from_file(vars) end |