Class: Opsmgr::Cmd::BoshCommand
- Inherits:
-
Object
- Object
- Opsmgr::Cmd::BoshCommand
- Includes:
- Capybara::DSL
- Defined in:
- lib/opsmgr/cmd/bosh_command.rb
Instance Method Summary collapse
- #command ⇒ Object
- #director_ip ⇒ Object
-
#initialize(env_name:, om_version:) ⇒ BoshCommand
constructor
A new instance of BoshCommand.
Constructor Details
#initialize(env_name:, om_version:) ⇒ BoshCommand
Returns a new instance of BoshCommand.
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/opsmgr/cmd/bosh_command.rb', line 17 def initialize(env_name:, om_version:) @env_settings = Opsmgr::Environments.for(env_name).settings @env_name = env_name @om_version = om_version @current_ops_manager = setup_or_login configure_client_credentials end |
Instance Method Details
#command ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/opsmgr/cmd/bosh_command.rb', line 28 def command ip = ENV['DIRECTOR_IP_OVERRIDE'] || director_ip if Gem::Version.new(om_version) >= Gem::Version.new('1.7') return "BOSH_CLIENT=#{@bosh_client} BOSH_CLIENT_SECRET=#{@bosh_client_secret} bosh -t #{ip} --ca-cert #{root_cert_file}" end %W( bosh -t #{ip} -u director -p #{director_password} ).join(' ') end |
#director_ip ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/opsmgr/cmd/bosh_command.rb', line 43 def director_ip status_page = current_ops_manager.product_status_for(director_tile_name) partitioned_job_name = 'director-partition-null-az' availability_zones = env_settings['ops_manager']['availability_zones'] if availability_zones az_name = availability_zones.first['iaas_identifier'] || 'first-az' partitioned_job_name = "director-partition-#{current_ops_manager.availability_zone_guid_for_name(az_name)}" end if Gem::Version.new(om_version) >= Gem::Version.new('1.8') partitioned_job_name = 'director' end director_status = status_page.job_status(partitioned_job_name) director_status.ips.first end |