fluke/devops-service/lib/executors/server_operation_result.rb

41 lines
936 B
Ruby
Raw Normal View History

2016-03-23 15:54:04 +03:00
module Devops
module Executor
class ServerOperationResult
RESULT_CODES = {
ok: 0,
server_bootstrap_fail: 2,
server_cannot_update_tags: 3,
server_bootstrap_private_ip_unset: 4,
server_not_in_chef_nodes: 5,
server_bootstrap_unknown_error: 7,
deploy_unknown_error: 6,
deploy_failed: 8,
creating_server_unknown_error: 9,
creating_server_in_cloud_failed: 10
}
attr_reader :code
def initialize(error_code)
@code = error_code
end
def ok?
@code == 0
end
def reason
RESULT_CODES.key(@code) || :unknown_error
end
def occured_during_bootstrap?(code)
[:server_bootstrap_fail, :server_not_in_chef_nodes, :server_bootstrap_unknown_error].include?(reason)
end
def self.code_of_reason(reason)
RESULT_CODES.fetch(reason)
end
end
end
end