Project

General

Profile

Download (1.4 KB) Statistics
| Branch: | Tag: | Revision:
module ForemanMaintain
module Cli
class MaintenanceModeCommand < Base
extend Concerns::Finders

subcommand 'start', 'Start maintenance-mode' do
def execute
scenario = Scenarios::MaintenanceModeStart.new
run_scenario(scenario)
exit runner.exit_code
end
end

subcommand 'stop', 'Stop maintenance-mode' do
def execute
scenario = Scenarios::MaintenanceModeStop.new
run_scenario(scenario)
exit runner.exit_code
end
end

subcommand 'status', 'Get maintenance-mode status' do
def execute
scenario = Scenarios::MaintenanceModeStatus.new
run_scenario(scenario)
exit runner.exit_code
end
end

subcommand 'is-enabled', 'Get maintenance-mode status code' do
def execute
scenario = Scenarios::IsMaintenanceMode.new
run_scenario(scenario)
procedure_used = fetch_procedure(scenario, Procedures::MaintenanceMode::IsEnabled)
puts procedure_used.status_code

if procedure_used.status_code == 1
exit procedure_used.status_code
else
exit runner.exit_code
end
end

def fetch_procedure(scenario, procedure_class_name)
scenario.steps.find { |procedure| procedure.class.eql?(procedure_class_name) }
end
end
end
end
end
(5-5/9)