Class: ControlplaneApi

Inherits:
Object
  • Object
show all
Defined in:
lib/core/controlplane_api.rb

Instance Method Summary collapse

Instance Method Details

#gvc_delete(org:, gvc:) ⇒ Object



12
13
14
# File 'lib/core/controlplane_api.rb', line 12

def gvc_delete(org:, gvc:)
  api_json("/org/#{org}/gvc/#{gvc}", method: :delete)
end

#gvc_get(org:, gvc:) ⇒ Object



8
9
10
# File 'lib/core/controlplane_api.rb', line 8

def gvc_get(org:, gvc:)
  api_json("/org/#{org}/gvc/#{gvc}", method: :get)
end

#gvc_list(org:) ⇒ Object



4
5
6
# File 'lib/core/controlplane_api.rb', line 4

def gvc_list(org:)
  api_json("/org/#{org}/gvc", method: :get)
end

#image_delete(org:, image:) ⇒ Object



16
17
18
# File 'lib/core/controlplane_api.rb', line 16

def image_delete(org:, image:)
  api_json("/org/#{org}/image/#{image}", method: :delete)
end

#log_get(org:, gvc:, workload: nil, from: nil, to: nil) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/core/controlplane_api.rb', line 20

def log_get(org:, gvc:, workload: nil, from: nil, to: nil)
  query = { gvc: gvc }
  query[:workload] = workload if workload
  query = query.map { |k, v| %(#{k}="#{v}") }.join(",").then { "{#{_1}}" }

  params = { query: query }
  params[:from] = "#{from}000000000" if from
  params[:to] = "#{to}000000000" if to
  # params << "delay_for=0"
  # params << "limit=30"
  # params << "direction=forward"
  params = params.map { |k, v| %(#{k}=#{CGI.escape(v)}) }.join("&")

  api_json_direct("/logs/org/#{org}/loki/api/v1/query_range?#{params}", method: :get, host: :logs)
end

#workload_deployments(org:, gvc:, workload:) ⇒ Object



48
49
50
# File 'lib/core/controlplane_api.rb', line 48

def workload_deployments(org:, gvc:, workload:)
  api_json("/org/#{org}/gvc/#{gvc}/workload/#{workload}/deployment", method: :get)
end

#workload_get(org:, gvc:, workload:) ⇒ Object



44
45
46
# File 'lib/core/controlplane_api.rb', line 44

def workload_get(org:, gvc:, workload:)
  api_json("/org/#{org}/gvc/#{gvc}/workload/#{workload}", method: :get)
end

#workload_list(org:, gvc:) ⇒ Object



36
37
38
# File 'lib/core/controlplane_api.rb', line 36

def workload_list(org:, gvc:)
  api_json("/org/#{org}/gvc/#{gvc}/workload", method: :get)
end

#workload_list_by_org(org:) ⇒ Object



40
41
42
# File 'lib/core/controlplane_api.rb', line 40

def workload_list_by_org(org:)
  api_json("/org/#{org}/workload", method: :get)
end