Class: ControlplaneApi
- Inherits:
-
Object
- Object
- ControlplaneApi
- Defined in:
- lib/core/controlplane_api.rb
Overview
rubocop:disable Metrics/ClassLength
Constant Summary collapse
- LIST_ORGS_PATH =
"/org"
Instance Method Summary collapse
- #delete_policy(org:, policy:) ⇒ Object
- #delete_secret(org:, secret:) ⇒ Object
- #delete_volumeset(org:, gvc:, volumeset:) ⇒ Object
- #delete_workload(org:, gvc:, workload:) ⇒ Object
- #fetch_domain(org:, domain:) ⇒ Object
- #fetch_identity(org:, gvc:, identity:) ⇒ Object
- #fetch_image_details(org:, image:) ⇒ Object
- #fetch_policy(org:, policy:) ⇒ Object
- #fetch_secret(org:, secret:) ⇒ Object
- #gvc_delete(org:, gvc:) ⇒ Object
- #gvc_get(org:, gvc:) ⇒ Object
- #gvc_list(org:) ⇒ Object
- #image_delete(org:, image:) ⇒ Object
- #list_domains(org:) ⇒ Object
- #list_orgs ⇒ Object
- #list_volumesets(org:, gvc:) ⇒ Object
-
#log_get(org:, gvc:, workload: nil, replica: nil, from: nil, to: nil) ⇒ Object
rubocop:disable Metrics/ParameterLists.
- #query_images(org:, gvc:, gvc_op_type:) ⇒ Object
-
#query_workloads(org:, gvc:, workload:, gvc_op_type:, workload_op_type:) ⇒ Object
rubocop:disable Metrics/MethodLength.
- #update_domain(org:, domain:, data:) ⇒ Object
- #update_workload(org:, gvc:, workload:, data:) ⇒ Object
- #workload_deployments(org:, gvc:, workload:) ⇒ Object
- #workload_get(org:, gvc:, workload:) ⇒ Object
- #workload_list(org:, gvc:) ⇒ Object
- #workload_list_by_org(org:) ⇒ Object
Instance Method Details
#delete_policy(org:, policy:) ⇒ Object
137 138 139 |
# File 'lib/core/controlplane_api.rb', line 137 def delete_policy(org:, policy:) api_json("/org/#{org}/policy/#{policy}", method: :delete) end |
#delete_secret(org:, secret:) ⇒ Object
125 126 127 |
# File 'lib/core/controlplane_api.rb', line 125 def delete_secret(org:, secret:) api_json("/org/#{org}/secret/#{secret}", method: :delete) end |
#delete_volumeset(org:, gvc:, volumeset:) ⇒ Object
105 106 107 |
# File 'lib/core/controlplane_api.rb', line 105 def delete_volumeset(org:, gvc:, volumeset:) api_json("/org/#{org}/gvc/#{gvc}/volumeset/#{volumeset}", method: :delete) end |
#delete_workload(org:, gvc:, workload:) ⇒ Object
97 98 99 |
# File 'lib/core/controlplane_api.rb', line 97 def delete_workload(org:, gvc:, workload:) api_json("/org/#{org}/gvc/#{gvc}/workload/#{workload}", method: :delete) end |
#fetch_domain(org:, domain:) ⇒ Object
109 110 111 |
# File 'lib/core/controlplane_api.rb', line 109 def fetch_domain(org:, domain:) api_json("/org/#{org}/domain/#{domain}", method: :get) end |
#fetch_identity(org:, gvc:, identity:) ⇒ Object
129 130 131 |
# File 'lib/core/controlplane_api.rb', line 129 def fetch_identity(org:, gvc:, identity:) api_json("/org/#{org}/gvc/#{gvc}/identity/#{identity}", method: :get) end |
#fetch_image_details(org:, image:) ⇒ Object
34 35 36 |
# File 'lib/core/controlplane_api.rb', line 34 def fetch_image_details(org:, image:) api_json("/org/#{org}/image/#{image}", method: :get) end |
#fetch_policy(org:, policy:) ⇒ Object
133 134 135 |
# File 'lib/core/controlplane_api.rb', line 133 def fetch_policy(org:, policy:) api_json("/org/#{org}/policy/#{policy}", method: :get) end |
#fetch_secret(org:, secret:) ⇒ Object
121 122 123 |
# File 'lib/core/controlplane_api.rb', line 121 def fetch_secret(org:, secret:) api_json("/org/#{org}/secret/#{secret}", method: :get) end |
#gvc_delete(org:, gvc:) ⇒ Object
18 19 20 |
# File 'lib/core/controlplane_api.rb', line 18 def gvc_delete(org:, gvc:) api_json("/org/#{org}/gvc/#{gvc}", method: :delete) end |
#gvc_get(org:, gvc:) ⇒ Object
14 15 16 |
# File 'lib/core/controlplane_api.rb', line 14 def gvc_get(org:, gvc:) api_json("/org/#{org}/gvc/#{gvc}", method: :get) end |
#gvc_list(org:) ⇒ Object
10 11 12 |
# File 'lib/core/controlplane_api.rb', line 10 def gvc_list(org:) api_json("/org/#{org}/gvc", method: :get) end |
#image_delete(org:, image:) ⇒ Object
38 39 40 |
# File 'lib/core/controlplane_api.rb', line 38 def image_delete(org:, image:) api_json("/org/#{org}/image/#{image}", method: :delete) end |
#list_domains(org:) ⇒ Object
113 114 115 |
# File 'lib/core/controlplane_api.rb', line 113 def list_domains(org:) api_json("/org/#{org}/domain", method: :get) end |
#list_orgs ⇒ Object
6 7 8 |
# File 'lib/core/controlplane_api.rb', line 6 def list_orgs api_json(LIST_ORGS_PATH, method: :get) end |
#list_volumesets(org:, gvc:) ⇒ Object
101 102 103 |
# File 'lib/core/controlplane_api.rb', line 101 def list_volumesets(org:, gvc:) api_json("/org/#{org}/gvc/#{gvc}/volumeset", method: :get) end |
#log_get(org:, gvc:, workload: nil, replica: nil, from: nil, to: nil) ⇒ Object
rubocop:disable Metrics/ParameterLists
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/core/controlplane_api.rb', line 42 def log_get(org:, gvc:, workload: nil, replica: nil, from: nil, to: nil) # rubocop:disable Metrics/ParameterLists query = { gvc: gvc } query[:workload] = workload if workload query[:replica] = replica if replica 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[:limit] = "5000" # params << "delay_for=0" # params << "limit=30" # params << "direction=forward" params = params.map { |k, v| %(#{k}=#{CGI.escape(v)}) }.join("&") api_json("/logs/org/#{org}/loki/api/v1/query_range?#{params}", method: :get, host: :logs) end |
#query_images(org:, gvc:, gvc_op_type:) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/core/controlplane_api.rb', line 22 def query_images(org:, gvc:, gvc_op_type:) terms = [ { property: "repository", op: gvc_op_type, value: gvc } ] query("/org/#{org}/image", terms) end |
#query_workloads(org:, gvc:, workload:, gvc_op_type:, workload_op_type:) ⇒ Object
rubocop:disable Metrics/MethodLength
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/core/controlplane_api.rb', line 60 def query_workloads(org:, gvc:, workload:, gvc_op_type:, workload_op_type:) # rubocop:disable Metrics/MethodLength terms = [ { rel: "gvc", op: gvc_op_type, value: gvc }, { property: "name", op: workload_op_type, value: workload } ] query("/org/#{org}/workload", terms) end |
#update_domain(org:, domain:, data:) ⇒ Object
117 118 119 |
# File 'lib/core/controlplane_api.rb', line 117 def update_domain(org:, domain:, data:) api_json("/org/#{org}/domain/#{domain}", method: :patch, body: data) end |
#update_workload(org:, gvc:, workload:, data:) ⇒ Object
89 90 91 |
# File 'lib/core/controlplane_api.rb', line 89 def update_workload(org:, gvc:, workload:, data:) api_json("/org/#{org}/gvc/#{gvc}/workload/#{workload}", method: :patch, body: data) end |
#workload_deployments(org:, gvc:, workload:) ⇒ Object
93 94 95 |
# File 'lib/core/controlplane_api.rb', line 93 def workload_deployments(org:, gvc:, workload:) api_json("/org/#{org}/gvc/#{gvc}/workload/#{workload}/deployment", method: :get) end |
#workload_get(org:, gvc:, workload:) ⇒ Object
85 86 87 |
# File 'lib/core/controlplane_api.rb', line 85 def workload_get(org:, gvc:, workload:) api_json("/org/#{org}/gvc/#{gvc}/workload/#{workload}", method: :get) end |
#workload_list(org:, gvc:) ⇒ Object
77 78 79 |
# File 'lib/core/controlplane_api.rb', line 77 def workload_list(org:, gvc:) api_json("/org/#{org}/gvc/#{gvc}/workload", method: :get) end |
#workload_list_by_org(org:) ⇒ Object
81 82 83 |
# File 'lib/core/controlplane_api.rb', line 81 def workload_list_by_org(org:) api_json("/org/#{org}/workload", method: :get) end |