Class: Convox::Api::Client
- Inherits:
-
Object
- Object
- Convox::Api::Client
- Includes:
- HTTMultiParty
- Defined in:
- lib/convox_api_client/client.rb
Instance Method Summary collapse
- #add_certificate(public, private, chain: nil) ⇒ Object
- #app(app, rack: nil) ⇒ Object
- #app_build(app, build, rack: nil) ⇒ Object
- #app_builds(app, rack: nil) ⇒ Object
- #app_environment(app, rack: nil) ⇒ Object
- #app_formation(app, rack: nil) ⇒ Object
-
#app_logs(app, rack: nil, wait_for: 5) ⇒ Object
Not documented in Swagger.
- #app_logs_websocket(app, rack: nil) ⇒ Object
- #app_parameters(app, rack: nil) ⇒ Object
- #app_process(app, process, rack: nil) ⇒ Object
- #app_processes(app, rack: nil, stats: nil) ⇒ Object
- #app_release(app, release, rack: nil) ⇒ Object
- #app_releases(app, rack: nil) ⇒ Object
- #app_ssls(app, rack: nil) ⇒ Object
- #apps(rack: nil) ⇒ Object
- #certificates ⇒ Object
- #create_app(name, rack: nil) ⇒ Object
- #create_app_build(app, rack: nil, cache: nil, description: nil, manifest: 'docker-compose.yml', repo: nil, source: nil) ⇒ Object
- #create_app_formation_process(app, process, rack: nil, count: nil, memory: nil) ⇒ Object
- #create_registry(server: nil, username: nil, password: nil) ⇒ Object
- #create_service(name, type) ⇒ Object
- #create_service_link(service, app) ⇒ Object
- #delete_app(name, rack: nil) ⇒ Object
-
#delete_app_build(app, build, rack: nil) ⇒ Object
API not functioning.
- #delete_app_environment_key(app, key, rack: nil) ⇒ Object
- #delete_app_process(app, process, rack: nil) ⇒ Object
- #delete_certificate(id: nil) ⇒ Object
- #delete_instance(id: nil) ⇒ Object
- #delete_registries ⇒ Object
- #delete_service(name) ⇒ Object
- #delete_service_link(service, app) ⇒ Object
- #generate_certificate(domains: nil) ⇒ Object
-
#initialize(api_key, debug = false) ⇒ Client
constructor
A new instance of Client.
- #instances ⇒ Object
- #instances_keyroll ⇒ Object
- #promote_app_release(app, release, rack: nil) ⇒ Object
- #registries ⇒ Object
- #run_app_process(app, process, rack: nil, command: nil) ⇒ Object
- #service(name) ⇒ Object
- #services ⇒ Object
- #set_app_environment(app, environment, rack: nil) ⇒ Object
- #set_app_parameters(app, parameters, rack: nil) ⇒ Object
- #set_app_ssl(app, process, port, rack: nil) ⇒ Object
- #system(rack: nil) ⇒ Object
- #system_capacity ⇒ Object
- #update_app_build(app, build, rack: nil) ⇒ Object
- #update_system(count: nil, type: nil, version: nil) ⇒ Object
Constructor Details
#initialize(api_key, debug = false) ⇒ Client
Returns a new instance of Client.
8 9 10 11 12 |
# File 'lib/convox_api_client/client.rb', line 8 def initialize(api_key, debug = false) raise 'api_key must be set' if api_key.nil? @api_key = api_key self.class.debug_output $stdout if debug end |
Instance Method Details
#add_certificate(public, private, chain: nil) ⇒ Object
128 129 130 |
# File 'lib/convox_api_client/client.rb', line 128 def add_certificate(public, private, chain: nil) raise 'Not implemented' end |
#app(app, rack: nil) ⇒ Object
27 28 29 |
# File 'lib/convox_api_client/client.rb', line 27 def app(app, rack: nil) parsed_response!(self.class.get("/apps/#{app}", headers: headers(rack: rack))) end |
#app_build(app, build, rack: nil) ⇒ Object
51 52 53 |
# File 'lib/convox_api_client/client.rb', line 51 def app_build(app, build, rack: nil) parsed_response!(self.class.get("/apps/#{app}/builds/#{build}", headers: headers(rack: rack))) end |
#app_builds(app, rack: nil) ⇒ Object
31 32 33 |
# File 'lib/convox_api_client/client.rb', line 31 def app_builds(app, rack: nil) parsed_response!(self.class.get("/apps/#{app}/builds", headers: headers(rack: rack))) end |
#app_environment(app, rack: nil) ⇒ Object
59 60 61 |
# File 'lib/convox_api_client/client.rb', line 59 def app_environment(app, rack: nil) parsed_response!(self.class.get("/apps/#{app}/environment", headers: headers(rack: rack))) end |
#app_formation(app, rack: nil) ⇒ Object
72 73 74 |
# File 'lib/convox_api_client/client.rb', line 72 def app_formation(app, rack: nil) raise 'Not implemented' end |
#app_logs(app, rack: nil, wait_for: 5) ⇒ Object
Not documented in Swagger
201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 |
# File 'lib/convox_api_client/client.rb', line 201 def app_logs(app, rack: nil, wait_for: 5) logs = [] EM.run { ws = app_logs_websocket(app, rack: rack) ws.on :open do |event| EventMachine.add_timer wait_for, proc { ws.close } end ws.on :message do |event| logs << event.data end ws.on :close do |event| p [:close, event.code, event.reason] ws = nil EM.stop_event_loop end } logs end |
#app_logs_websocket(app, rack: nil) ⇒ Object
223 224 225 226 227 |
# File 'lib/convox_api_client/client.rb', line 223 def app_logs_websocket(app, rack: nil) ws_headers = ws_headers["Rack"] = rack if rack Faye::WebSocket::Client.new("wss://console.convox.com/apps/#{app}/logs", nil, {headers: ws_headers}) end |
#app_parameters(app, rack: nil) ⇒ Object
80 81 82 |
# File 'lib/convox_api_client/client.rb', line 80 def app_parameters(app, rack: nil) raise 'Not implemented' end |
#app_process(app, process, rack: nil) ⇒ Object
96 97 98 |
# File 'lib/convox_api_client/client.rb', line 96 def app_process(app, process, rack: nil) raise 'Not implemented' end |
#app_processes(app, rack: nil, stats: nil) ⇒ Object
88 89 90 |
# File 'lib/convox_api_client/client.rb', line 88 def app_processes(app, rack: nil, stats: nil) raise 'Not implemented' end |
#app_release(app, release, rack: nil) ⇒ Object
108 109 110 |
# File 'lib/convox_api_client/client.rb', line 108 def app_release(app, release, rack: nil) parsed_response!(self.class.get("/apps/#{app}/releases/#{release}", headers: headers(rack: rack))) end |
#app_releases(app, rack: nil) ⇒ Object
104 105 106 |
# File 'lib/convox_api_client/client.rb', line 104 def app_releases(app, rack: nil) parsed_response!(self.class.get("/apps/#{app}/releases", headers: headers(rack: rack))) end |
#app_ssls(app, rack: nil) ⇒ Object
116 117 118 |
# File 'lib/convox_api_client/client.rb', line 116 def app_ssls(app, rack: nil) parsed_response!(self.class.get("/apps/#{app}/ssl", headers: headers(rack: rack))) end |
#apps(rack: nil) ⇒ Object
14 15 16 |
# File 'lib/convox_api_client/client.rb', line 14 def apps(rack: nil) parsed_response!(self.class.get('/apps', headers: headers(rack: rack))) end |
#certificates ⇒ Object
124 125 126 |
# File 'lib/convox_api_client/client.rb', line 124 def certificates raise 'Not implemented' end |
#create_app(name, rack: nil) ⇒ Object
18 19 20 21 |
# File 'lib/convox_api_client/client.rb', line 18 def create_app(name, rack: nil) query = {name: name} parsed_response!(self.class.post('/apps', query: query, headers: headers(rack: rack))) end |
#create_app_build(app, rack: nil, cache: nil, description: nil, manifest: 'docker-compose.yml', repo: nil, source: nil) ⇒ Object
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/convox_api_client/client.rb', line 35 def create_app_build(app, rack: nil, cache: nil, description: nil, manifest: 'docker-compose.yml', repo: nil, source: nil) query = {} query[:cache] = cache if cache query[:description] = description if description query[:manifest] = manifest if manifest query[:repo] = repo if repo query[:source] = source if source parsed_response!(self.class.post("/apps/#{app}/builds", query: query, headers: headers(rack: rack))) end |
#create_app_formation_process(app, process, rack: nil, count: nil, memory: nil) ⇒ Object
76 77 78 |
# File 'lib/convox_api_client/client.rb', line 76 def create_app_formation_process(app, process, rack: nil, count: nil, memory: nil) raise 'Not implemented' end |
#create_registry(server: nil, username: nil, password: nil) ⇒ Object
160 161 162 |
# File 'lib/convox_api_client/client.rb', line 160 def create_registry(server: nil, username: nil, password: nil) raise 'Not implemented' end |
#create_service(name, type) ⇒ Object
168 169 170 |
# File 'lib/convox_api_client/client.rb', line 168 def create_service(name, type) raise 'Not implemented' end |
#create_service_link(service, app) ⇒ Object
180 181 182 |
# File 'lib/convox_api_client/client.rb', line 180 def create_service_link(service, app) raise 'Not implemented' end |
#delete_app(name, rack: nil) ⇒ Object
23 24 25 |
# File 'lib/convox_api_client/client.rb', line 23 def delete_app(name, rack: nil) parsed_response!(self.class.delete("/apps/#{name}", headers: headers(rack: rack))) end |
#delete_app_build(app, build, rack: nil) ⇒ Object
API not functioning
47 48 49 |
# File 'lib/convox_api_client/client.rb', line 47 def delete_app_build(app, build, rack: nil) parsed_response!(self.class.delete("/apps/#{app}/builds/#{build}", headers: headers(rack: rack))) end |
#delete_app_environment_key(app, key, rack: nil) ⇒ Object
68 69 70 |
# File 'lib/convox_api_client/client.rb', line 68 def delete_app_environment_key(app, key, rack: nil) parsed_response!(self.class.delete("/apps/#{app}/environment/#{key}", query: query, headers: headers(rack: rack))) end |
#delete_app_process(app, process, rack: nil) ⇒ Object
92 93 94 |
# File 'lib/convox_api_client/client.rb', line 92 def delete_app_process(app, process, rack: nil) raise 'Not implemented' end |
#delete_certificate(id: nil) ⇒ Object
136 137 138 |
# File 'lib/convox_api_client/client.rb', line 136 def delete_certificate(id: nil) raise 'Not implemented' end |
#delete_instance(id: nil) ⇒ Object
148 149 150 |
# File 'lib/convox_api_client/client.rb', line 148 def delete_instance(id: nil) raise 'Not implemented' end |
#delete_registries ⇒ Object
152 153 154 |
# File 'lib/convox_api_client/client.rb', line 152 def delete_registries raise 'Not implemented' end |
#delete_service(name) ⇒ Object
172 173 174 |
# File 'lib/convox_api_client/client.rb', line 172 def delete_service(name) raise 'Not implemented' end |
#delete_service_link(service, app) ⇒ Object
184 185 186 |
# File 'lib/convox_api_client/client.rb', line 184 def delete_service_link(service, app) raise 'Not implemented' end |
#generate_certificate(domains: nil) ⇒ Object
132 133 134 |
# File 'lib/convox_api_client/client.rb', line 132 def generate_certificate(domains: nil) raise 'Not implemented' end |
#instances ⇒ Object
140 141 142 |
# File 'lib/convox_api_client/client.rb', line 140 def instances raise 'Not implemented' end |
#instances_keyroll ⇒ Object
144 145 146 |
# File 'lib/convox_api_client/client.rb', line 144 def instances_keyroll raise 'Not implemented' end |
#promote_app_release(app, release, rack: nil) ⇒ Object
112 113 114 |
# File 'lib/convox_api_client/client.rb', line 112 def promote_app_release(app, release, rack: nil) parsed_response!(self.class.post("/apps/#{app}/releases/#{release}/promote", headers: headers(rack: rack))) end |
#registries ⇒ Object
156 157 158 |
# File 'lib/convox_api_client/client.rb', line 156 def registries raise 'Not implemented' end |
#run_app_process(app, process, rack: nil, command: nil) ⇒ Object
100 101 102 |
# File 'lib/convox_api_client/client.rb', line 100 def run_app_process(app, process, rack: nil, command: nil) raise 'Not implemented' end |
#service(name) ⇒ Object
176 177 178 |
# File 'lib/convox_api_client/client.rb', line 176 def service(name) raise 'Not implemented' end |
#services ⇒ Object
164 165 166 |
# File 'lib/convox_api_client/client.rb', line 164 def services raise 'Not implemented' end |
#set_app_environment(app, environment, rack: nil) ⇒ Object
63 64 65 66 |
# File 'lib/convox_api_client/client.rb', line 63 def set_app_environment(app, environment, rack: nil) environment = environment.to_a.collect{|e| e.join "="}.join "\n" parsed_response!(self.class.post("/apps/#{app}/environment", body: environment, headers: headers(rack: rack))) end |
#set_app_parameters(app, parameters, rack: nil) ⇒ Object
84 85 86 |
# File 'lib/convox_api_client/client.rb', line 84 def set_app_parameters(app, parameters, rack: nil) raise 'Not implemented' end |
#set_app_ssl(app, process, port, rack: nil) ⇒ Object
120 121 122 |
# File 'lib/convox_api_client/client.rb', line 120 def set_app_ssl(app, process, port, rack: nil) raise 'Not implemented' end |
#system(rack: nil) ⇒ Object
188 189 190 |
# File 'lib/convox_api_client/client.rb', line 188 def system(rack: nil) raise 'Not implemented' end |
#system_capacity ⇒ Object
196 197 198 |
# File 'lib/convox_api_client/client.rb', line 196 def system_capacity raise 'Not implemented' end |
#update_app_build(app, build, rack: nil) ⇒ Object
55 56 57 |
# File 'lib/convox_api_client/client.rb', line 55 def update_app_build(app, build, rack: nil) raise 'Not implemented' end |
#update_system(count: nil, type: nil, version: nil) ⇒ Object
192 193 194 |
# File 'lib/convox_api_client/client.rb', line 192 def update_system(count: nil, type: nil, version: nil) raise 'Not implemented' end |