Class: Opsmgr::ErrandRunner

Inherits:
Object
  • Object
show all
Defined in:
lib/opsmgr/errand_runner.rb

Instance Method Summary collapse

Constructor Details

#initialize(iaas_gateway:, bosh_command:, environment_name:, logger:, product_name:, errand_name:, download_logs:) ⇒ ErrandRunner

Returns a new instance of ErrandRunner.



6
7
8
9
10
11
12
13
14
# File 'lib/opsmgr/errand_runner.rb', line 6

def initialize(iaas_gateway:, bosh_command:, environment_name:, logger:, product_name:, errand_name:, download_logs:)
  @iaas_gateway = iaas_gateway
  @bosh_command = bosh_command
  @environment = Opsmgr::Environments.for(environment_name)
  @logger = logger
  @product_name = product_name
  @errand_name = errand_name
  @download_logs = download_logs ? "--download-logs" : ""
end

Instance Method Details

#run_errandObject



16
17
18
19
20
21
22
23
24
25
# File 'lib/opsmgr/errand_runner.rb', line 16

def run_errand
  iaas_gateway.gateway do
    set_bosh_deployment

    system_or_fail(
      "#{bosh_command_prefix} run errand #{@errand_name} #{@download_logs}",
      "Errand #{@errand_name} failed"
    )
  end
end