module Dag::Client::API::Cluster

Public Instance Methods

cluster_export_log(cluster_name, params = {}) click to toggle source
# File lib/dag/client/api/cluster.rb, line 83
def cluster_export_log(cluster_name, params = {})
  parameters = {}

  output_log_path = params[:output_log_path]
  raise Dag::Client::ParameterInvalid.new('output_log_path is blank') if output_log_path.blank?

  unless output_log_path.start_with?('dag://')
    raise Dag::Client::ParameterInvalid.new("output_log_path should start with 'dag://'")
  end
  unless output_log_path.end_with?('/')
    raise Dag::Client::ParameterInvalid.new("output_log_path should end with '/'")
  end

  parameters = parameters.merge('outputLogPath' => output_log_path)

  compress = params[:compress]
  unless compress.nil?
    unless [TrueClass, FalseClass].any? { |c| compress.kind_of?(c) }
      raise Dag::Client::ParameterInvalid.new("compress is invalid: #{compress}")
    end

    parameters = parameters.merge(compress: params[:compress])
  end
  resource = "/v1/#{cluster_name}/log"
  execute(RestParameter.new(:put, resource, cano_resource: 'clusterManagement', content_type: 'application/json', parameters: parameters))
end
cluster_info(cluster_name) click to toggle source
# File lib/dag/client/api/cluster.rb, line 40
def cluster_info(cluster_name)
  resource = "/v1/#{cluster_name}"
  execute(RestParameter.new(:get, resource, cano_resource: 'clusterManagement'))
end
cluster_info_list(options = {}) click to toggle source
# File lib/dag/client/api/cluster.rb, line 7
def cluster_info_list(options = {})
  resource = '/v1/'
  query_params = list_params(options)
  status = options[:status]
  if status
    statuses = status.split(',')
    if statuses.any? { |s| !valid_cluster_info_list_status?(s) }
      raise Dag::Client::ParameterInvalid.new("status is invalid: #{status}")
    end
    query_params = query_params.merge('status' => status)
  end

  type = options[:type]
  if type
    query_params = query_params.merge('type' => type)
  end

  cluster_name = options[:cluster_name]
  if cluster_name
    query_params = query_params.merge('clusterName' => cluster_name)
  end

  order = options[:order]
  if order
    unless ['asc', 'desc'].include?(order)
      raise Dag::Client::ParameterInvalid.new("order is invalid: #{order}")
    end
    query_params = query_params.merge('order' => order)
  end

  execute(RestParameter.new(:get, resource, cano_resource: 'clusterManagement', query_params: query_params ))
end
cluster_restart(cluster_name, params = {}) click to toggle source
# File lib/dag/client/api/cluster.rb, line 45
def cluster_restart(cluster_name, params = {})
  resource = "/v1/#{cluster_name}"
  parameters = {}
  force = params[:force]
  unless force.nil?
    unless [TrueClass, FalseClass].any? { |c| force.kind_of?(c) }
      raise Dag::Client::ParameterInvalid.new("force is invalid: #{force}")
    end
    parameters.merge!('force' => force)
  end

  type = params[:type]
  if type.present?
    parameters.merge!('type' => type)
  end

  debug = params[:debug]
  unless debug.nil?
    unless [TrueClass, FalseClass].any? { |c| debug.kind_of?(c) }
      raise Dag::Client::ParameterInvalid.new("debug is invalid: #{debug}")
    end

    parameters.merge!('debug' => debug)
  end

  execute(RestParameter.new(:put, resource,
                            cano_resource: 'clusterManagement',
                            content_type: 'application/json',
                            parameters: parameters,
                            blank_body: true
                           ))
end
statistics(cluster_name, options = {}) click to toggle source
# File lib/dag/client/api/cluster.rb, line 78
def statistics(cluster_name, options = {})
  resource = "/v1/#{cluster_name}/statistics"
  execute(RestParameter.new(:get, resource, cano_resource: 'clusterManagement'))
end