civo_cli 0.2.5 → 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: acd3180b6eaaf19c77c92333d99c03ca4c6718f64a9418f09efc7f3fd35733da
4
- data.tar.gz: 9e5d92ca791a4c30aab31084592add09506abd00a7574aca2c881e9ea821b210
3
+ metadata.gz: d861f11c17a9e24b51e0853bf40c4953f9a1aa45af1b7722f922d197bbeee969
4
+ data.tar.gz: 7edd364cba9bebb15b74dfffff2ca5e23008599486e0b1b7f2345220b052cc60
5
5
  SHA512:
6
- metadata.gz: 5d18746327d2def6e43d25585eac8a9712185f6d609fa0ebdc4e5a6b7e2b38e0ee27f601757ce05a89fdffb94ac86a0b8f4d66aa2f12395bda655d3bf88c1aaa
7
- data.tar.gz: 902519bfa7cdafd3e9f246616ce4695391c70b8b3a39625728662164bd1a3ae92eb61e48db49a73077daeaedeeee59a7fb60d243816b339b81877952705a7081
6
+ metadata.gz: dc8151061ee863bef860070924feef1c8b740cd15269510020f62cf7335ad5d6543d2624f056698cf9c2ca9b014808613c77285278d39dcdfc104636585c6e4d
7
+ data.tar.gz: f08fe71cfb4fe4d892ace4caff14337fc4f1af0090fa23321db7892715e60804235011a2974fc9d85a285fcda9cd4ddbc462727c16e74c70c94143690347885b
data/CHANGELOG.md CHANGED
@@ -3,7 +3,11 @@ All notable changes to the Civo CLI will be documented in this file.
3
3
 
4
4
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5
5
 
6
- ## [0.2.5] - 2019-06-28
6
+ ## [0.2.6] - 2019-07-04
7
+ ### Fixed
8
+ - Slightly badly named method caused confusion, clarified by renaming the method and correcting usage of it
9
+
10
+ ## [0.2.5] - 2019-07-04
7
11
  ### Added
8
12
  - Added support for using part of an ID instead of a whole ID
9
13
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- civo_cli (0.2.5)
4
+ civo_cli (0.2.6)
5
5
  civo (>= 1.2.1)
6
6
  colorize
7
7
  json
data/README.md CHANGED
@@ -3,6 +3,8 @@
3
3
  ## Introduction
4
4
  Civo CLI is a tool to manage your [Civo.com](https://www.civo.com) account from the terminal. The [Civo web control panel](https://www.civo.com/account/) has a user-friendly interface for managing your account, but in case you want to automate or run scripts on your account, or have multiple complex services, the command-line interface outlined here will be useful. This guide will cover the set-up and usage of the Civo CLI tool with examples.
5
5
 
6
+ **STATUS:** This project is currently under active development and maintainance.
7
+
6
8
  ## Table of contents
7
9
  - [Introduction](#introduction)
8
10
  - [Set-Up](#set-up)
data/lib/blueprint.rb CHANGED
@@ -19,7 +19,7 @@ module CivoCLI
19
19
  desc "show ID", "show the details for a single blueprint"
20
20
  def show(id)
21
21
  CivoCLI::Config.set_api_auth
22
- blueprint = detect_blueprint_id(id)
22
+ blueprint = detect_blueprint(id)
23
23
  puts " ID : #{blueprint.id}"
24
24
  puts " Name : #{blueprint.name}"
25
25
  puts " Template ID : #{blueprint.template_id}"
@@ -45,7 +45,7 @@ module CivoCLI
45
45
  desc "update ID", "update the blueprint with ID"
46
46
  def update(id)
47
47
  CivoCLI::Config.set_api_auth
48
- params = {id: detect_blueprint_id(id)}
48
+ params = {id: detect_blueprint(id).id}
49
49
  params[:dsl_content] = File.read(options["content-file"]) unless options["content-file"].nil?
50
50
  params[:template_id] = options["template-id"] unless options["template-id"].nil?
51
51
  params[:name] = options["name"] unless options["name"].nil?
@@ -86,7 +86,7 @@ module CivoCLI
86
86
  desc "remove ID", "remove the blueprint with ID"
87
87
  def remove(id)
88
88
  CivoCLI::Config.set_api_auth
89
- Civo::Blueprint.remove(detect_blueprint_id(id))
89
+ Civo::Blueprint.remove(detect_blueprint(id))
90
90
  rescue Flexirest::HTTPForbiddenClientException => e
91
91
  puts "Sorry, you don't have access to this feature".colorize(:red)
92
92
  exit 1
@@ -100,7 +100,7 @@ module CivoCLI
100
100
 
101
101
  private
102
102
 
103
- def detect_blueprint_id(id)
103
+ def detect_blueprint(id)
104
104
  result = []
105
105
  Civo::Blueprint.all.items.each do |blueprint|
106
106
  result << blueprint
@@ -1,3 +1,3 @@
1
1
  module CivoCLI
2
- VERSION = "0.2.5"
2
+ VERSION = "0.2.6"
3
3
  end
data/lib/instance.rb CHANGED
@@ -15,9 +15,8 @@ module CivoCLI
15
15
  if CivoCLI::Config.get_meta("admin")
16
16
  desc "high-cpu", "list high CPU using instances"
17
17
  def high_cpu
18
- # {ENV["CIVO_API_VERSION"] || "1"}/instances/high_cpu"
19
18
  CivoCLI::Config.set_api_auth
20
- instance = detect_instance_id(id)
19
+ instance = detect_instance(id)
21
20
 
22
21
  Civo::Instance.high_cpu
23
22
  end
@@ -25,10 +24,9 @@ module CivoCLI
25
24
 
26
25
  desc "show ID/HOSTNAME", "show an instance by ID or hostname"
27
26
  def show(id)
28
- # {ENV["CIVO_API_VERSION"] || "1"}/instances/:id", requires: [:id]
29
27
  CivoCLI::Config.set_api_auth
30
28
  rows = []
31
- instance = detect_instance_id(id)
29
+ instance = detect_instance(id)
32
30
 
33
31
  sizes = Civo::Size.all(all: true).items
34
32
  ssh_keys = Civo::SshKey.all.items
@@ -141,7 +139,7 @@ module CivoCLI
141
139
  desc "tags ID/HOSTNAME 'tag1 tag2 tag3...'", "retag instance by ID (input no tags to clear all tags)"
142
140
  def tags(id, newtags = nil)
143
141
  CivoCLI::Config.set_api_auth
144
- instance = detect_instance_id(id)
142
+ instance = detect_instance(id)
145
143
 
146
144
  Civo::Instance.tags(id: instance.id, tags: newtags)
147
145
  puts "Updated tags on #{instance.hostname.colorize(:green)}. Use 'civo instance show #{instance.hostname}' to see the current tags.'"
@@ -151,7 +149,6 @@ module CivoCLI
151
149
  end
152
150
 
153
151
  desc "update ID/HOSTNAME [--name] [--notes]", "update details of instance"
154
-
155
152
  option :name
156
153
  option :notes
157
154
  long_desc <<-LONGDESC
@@ -159,7 +156,7 @@ module CivoCLI
159
156
  LONGDESC
160
157
  def update(id)
161
158
  CivoCLI::Config.set_api_auth
162
- instance = detect_instance_id(id)
159
+ instance = detect_instance(id)
163
160
 
164
161
  if options[:name]
165
162
  Civo::Instance.update(id: instance.id, hostname: options[:name])
@@ -176,9 +173,8 @@ module CivoCLI
176
173
 
177
174
  desc "remove ID/HOSTNAME", "removes an instance with ID/hostname entered (use with caution!)"
178
175
  def remove(id)
179
- # {ENV["CIVO_API_VERSION"] || "1"}/instances/:id", requires: [:id], send_delete_body: true
180
176
  CivoCLI::Config.set_api_auth
181
- instance = detect_instance_id(id)
177
+ instance = detect_instance(id)
182
178
 
183
179
  puts "Removing instance #{instance.hostname.colorize(:red)}"
184
180
  instance.remove
@@ -190,10 +186,9 @@ module CivoCLI
190
186
 
191
187
  desc "reboot ID/HOSTNAME", "reboots instance with ID/hostname entered"
192
188
  def reboot(id)
193
- # {ENV["CIVO_API_VERSION"] || "1"}/instances/:id/reboots", requires: [:id]
194
189
  CivoCLI::Config.set_api_auth
195
190
 
196
- instance = detect_instance_id(id)
191
+ instance = detect_instance(id)
197
192
  puts "Rebooting #{instance.hostname.colorize(:red)}. Use 'civo instance show #{instance.hostname}' to see the current status."
198
193
  instance.reboot
199
194
  rescue Flexirest::HTTPException => e
@@ -204,10 +199,9 @@ module CivoCLI
204
199
 
205
200
  desc "soft-reboot ID/HOSTNAME", "soft-reboots instance with ID entered"
206
201
  def soft_reboot(id)
207
- # {ENV["CIVO_API_VERSION"] || "1"}/instances/:id/soft_reboots", requires: [:id]
208
202
  CivoCLI::Config.set_api_auth
209
203
 
210
- instance = detect_instance_id(id)
204
+ instance = detect_instance(id)
211
205
  puts "Soft-rebooting #{instance.hostname.colorize(:red)}. Use 'civo instance show #{instance.hostname}' to see the current status."
212
206
  instance.soft_reboot
213
207
  rescue Flexirest::HTTPException => e
@@ -217,9 +211,8 @@ module CivoCLI
217
211
 
218
212
  desc "console ID/HOSTNAME", "outputs a URL for a web-based console for instance with ID provided"
219
213
  def console(id)
220
- # {ENV["CIVO_API_VERSION"] || "1"}/instances/:id/console", requires: [:id]
221
214
  CivoCLI::Config.set_api_auth
222
- instance = detect_instance_id(id)
215
+ instance = detect_instance(id)
223
216
  puts "Access #{instance.hostname.colorize(:green)} at #{instance.console.url}"
224
217
  rescue Flexirest::HTTPException => e
225
218
  puts e.result.reason.colorize(:red)
@@ -228,9 +221,8 @@ module CivoCLI
228
221
 
229
222
  desc "stop ID/HOSTNAME", "shuts down the instance with ID provided"
230
223
  def stop(id)
231
- # {ENV["CIVO_API_VERSION"] || "1"}/instances/:id/stop", requires: [:id]
232
224
  CivoCLI::Config.set_api_auth
233
- instance = detect_instance_id(id)
225
+ instance = detect_instance(id)
234
226
  puts "Stopping #{instance.hostname.colorize(:red)}. Use 'civo instance show #{instance.hostname}' to see the current status."
235
227
  Civo::Instance.stop(id: instance.id)
236
228
  rescue Flexirest::HTTPException => e
@@ -240,10 +232,9 @@ module CivoCLI
240
232
 
241
233
  desc "start ID/HOSTNAME", "starts a stopped instance with ID provided"
242
234
  def start(id)
243
- # {ENV["CIVO_API_VERSION"] || "1"}/instances/:id/start", requires: [:id]
244
235
  CivoCLI::Config.set_api_auth
245
236
 
246
- instance = detect_instance_id(id)
237
+ instance = detect_instance(id)
247
238
  puts "Starting #{instance.hostname.colorize(:green)}. Use 'civo instance show #{instance.hostname}' to see the current status."
248
239
  instance.start
249
240
  rescue Flexirest::HTTPException => e
@@ -253,10 +244,9 @@ module CivoCLI
253
244
 
254
245
  desc "upgrade ID/HOSTNAME new-size", "Upgrade instance with ID to size provided (see civo sizes for size names)"
255
246
  def upgrade(id, new_size)
256
- # {ENV["CIVO_API_VERSION"] || "1"}/instances/:id/resize", requires: [:size, :id]
257
247
  CivoCLI::Config.set_api_auth
258
248
 
259
- instance = detect_instance_id(id)
249
+ instance = detect_instance(id)
260
250
 
261
251
  Civo::Instance.upgrade(id: instance.id, size: new_size)
262
252
  puts "Resizing #{instance.hostname.colorize(:green)} to #{new_size.colorize(:red)}. Use 'civo instance show #{instance.hostname}' to see the current status."
@@ -267,10 +257,9 @@ module CivoCLI
267
257
 
268
258
  desc "move-ip ID/HOSTNAME IP_Address", "move a public IP_Address to target instance"
269
259
  def move_ip(id, ip_address)
270
- # {ENV["CIVO_API_VERSION"] || "1"}/instances/:id/ip/:ip", requires: [:ip, :id]
271
260
  CivoCLI::Config.set_api_auth
272
261
 
273
- instance = detect_instance_id(id)
262
+ instance = detect_instance(id)
274
263
 
275
264
  Civo::Instance.move_ip(id: instance.id, ip: ip_address)
276
265
  puts "Moved public IP #{ip_address} to instance #{instance.hostname}"
@@ -279,22 +268,11 @@ module CivoCLI
279
268
  exit 1
280
269
  end
281
270
 
282
- # desc "", ""
283
- # def rescue
284
- # # {ENV["CIVO_API_VERSION"] || "1"}/instances/:id/rescue", requires: [:id]
285
- # end
286
-
287
- # desc "", ""
288
- # def unrescue
289
- # # {ENV["CIVO_API_VERSION"] || "1"}/instances/:id/unrescue", requires: [:id]
290
- # end
291
-
292
271
  desc "firewall ID/HOSTNAME firewall_id", "set instance with ID/HOSTNAME to use firewall with firewall_id"
293
272
  def firewall(id, firewall_id)
294
- # {ENV["CIVO_API_VERSION"] || "1"}/instances/:id/firewall", requires: [:firewall_id, :id]
295
273
  CivoCLI::Config.set_api_auth
296
274
 
297
- instance = detect_instance_id(id)
275
+ instance = detect_instance(id)
298
276
 
299
277
  Civo::Instance.firewall(id: instance.id, firewall_id: firewall_id)
300
278
  puts "Set #{instance.hostname.colorize(:green)} to use firewall '#{firewall_id.colorize(:yellow)}'"
@@ -307,7 +285,7 @@ module CivoCLI
307
285
 
308
286
  private
309
287
 
310
- def detect_instance_id(id)
288
+ def detect_instance(id)
311
289
  result = []
312
290
  Civo::Instance.all.items.each do |instance|
313
291
  result << instance
data/lib/kubernetes.rb CHANGED
@@ -16,7 +16,7 @@ module CivoCLI
16
16
  def show(id)
17
17
  CivoCLI::Config.set_api_auth
18
18
  rows = []
19
- cluster = detect_cluster_id(id)
19
+ cluster = detect_cluster(id)
20
20
 
21
21
  puts " ID : #{cluster.id}"
22
22
  puts " Name : #{cluster.name}"
@@ -48,7 +48,7 @@ module CivoCLI
48
48
  def config(id)
49
49
  CivoCLI::Config.set_api_auth
50
50
  rows = []
51
- cluster = detect_cluster_id(id)
51
+ cluster = detect_cluster(id)
52
52
  puts cluster.kubeconfig
53
53
  rescue Flexirest::HTTPException => e
54
54
  puts e.result.reason.colorize(:red)
@@ -98,7 +98,7 @@ module CivoCLI
98
98
  LONGDESC
99
99
  def rename(id)
100
100
  CivoCLI::Config.set_api_auth
101
- cluster = detect_cluster_id(id)
101
+ cluster = detect_cluster(id)
102
102
 
103
103
  if options[:name]
104
104
  Civo::Kubernetes.update(id: cluster.id, name: options[:name])
@@ -116,7 +116,7 @@ module CivoCLI
116
116
  LONGDESC
117
117
  def scale(id)
118
118
  CivoCLI::Config.set_api_auth
119
- cluster = detect_cluster_id(id)
119
+ cluster = detect_cluster(id)
120
120
 
121
121
  if options[:nodes]
122
122
  Civo::Kubernetes.update(id: cluster.id, num_target_nodes: options[:nodes])
@@ -131,7 +131,7 @@ module CivoCLI
131
131
  desc "remove ID/NAME", "removes an entire Kubernetes cluster with ID/name entered (use with caution!)"
132
132
  def remove(id)
133
133
  CivoCLI::Config.set_api_auth
134
- cluster = detect_cluster_id(id)
134
+ cluster = detect_cluster(id)
135
135
 
136
136
  puts "Removing Kubernetes cluster #{cluster.name.colorize(:red)}"
137
137
  cluster.remove
@@ -145,7 +145,7 @@ module CivoCLI
145
145
 
146
146
  private
147
147
 
148
- def detect_cluster_id(id)
148
+ def detect_cluster(id)
149
149
  result = []
150
150
  Civo::Kubernetes.all.items.each do |cluster|
151
151
  result << cluster
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: civo_cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Jeffries