Module: Dag::Client::API::Cluster
Constant Summary
ClusterValidation::VALID_WHERE_KEYS
Instance Method Summary
collapse
#cluster_norm?, #cluster_norm_or_ptfailed?, #cluster_restart_status?, #cluster_status, #valid_cluster_info_list_status?, #valid_cluster_status?, #validate_cluster, #validate_cluster_param_keys
Methods included from ListParams
#list_params
Instance Method Details
#cluster_export_log(cluster_name, params = {}) ⇒ Object
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
# 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) ⇒ Object
40
41
42
43
|
# 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 = {}) ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# 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 = {}) ⇒ Object
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# 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 = {}) ⇒ Object
78
79
80
81
|
# 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
|