civo_cli 0.2.5 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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