civo 0.1.7 → 0.1.8

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
  SHA1:
3
- metadata.gz: 625ccfb9c6aed27ec16d6abaa6b57088c74f59ef
4
- data.tar.gz: 5d4dae83f9ad15e9181ba1193dc01462fda73fe9
3
+ metadata.gz: 9b9396f4d7e27b9f72e0888c45a71d5bccd243b9
4
+ data.tar.gz: 42a82ab43291563c8cb29e11fa3f37a8e45ee6ae
5
5
  SHA512:
6
- metadata.gz: 14dcee7534a417f958591b0afb38f9edb3ee1aae5d0a361637c192c8f1e3a52a77909a26b27e4eb6e4860510b71497bc488a7c0a1b8bf91d2b52911dbda42d99
7
- data.tar.gz: 406005bb001351c4fb92432e96821748d2b91e37754085dc7f3807807798e1081f858115c8e9b4d8a55c886ec05cf0e8a4a8e7ea929f2e5d54b15061c3efb580
6
+ metadata.gz: f4a57142ba1e19cfe1861e57f8e3e6e5f6a98e94cfbc0da68726cc7e22d7415ce871b2b2b9b44d5b2da1476bb490096e92903fce247d4a4346fd25ed2e32c3e1
7
+ data.tar.gz: c9576d95517c31b8f1876ae20bcfdb6959e727875e682c9c5ef1b717e3546492ac742115fce67503c1b8bb7057279be468706eeae19c4bb69b64b5a71e4e8efc
@@ -3,7 +3,9 @@ module Civo
3
3
  get :all, "/v1/instances"
4
4
  post :create, "/v1/instances", requires: [:hostname, :size, :region, :ssh_key],
5
5
  defaults: {public_ip: true, template: "ubuntu-14.04", initial_user: "civo"}
6
- delete :remove, "/v1/instances/:id"
6
+ delete :remove, "/v1/instances/:id", requires: [:id]
7
+ post :reboot, "/v1/instances/:id/reboots", requires: [:id]
8
+ put :upgrade, "/v1/instances/:id", requires: [:size, :id]
7
9
 
8
10
  def ip_addresses
9
11
  self._attributes[:ip_addresses].items rescue ""
@@ -59,11 +59,11 @@ command "instances:remove" do |c|
59
59
  instance = Civo::Instance.all.detect {|i| i.hostname == args.first}
60
60
  id = instance.id
61
61
  end
62
- account = Civo::Instance.remove(id: id)
63
- if account.result == "ok"
64
- puts "Account '#{args.first}' has been removed."
62
+ instance = Civo::Instance.remove(id: id)
63
+ if instance.result == "ok"
64
+ puts "Instance '#{args.first}' has been removed."
65
65
  else
66
- puts "Failed to delete that account: #{account.inspect}"
66
+ puts "Failed to delete that instance: #{instance.inspect}"
67
67
  end
68
68
  rescue Flexirest::HTTPUnauthorisedClientException, Flexirest::HTTPForbiddenClientException
69
69
  puts "Access denied to your default token, ensure it's set correctly with 'civo tokens'"
@@ -77,3 +77,64 @@ end
77
77
  alias_command "instance:remove", "instances:remove"
78
78
  alias_command "instances:delete", "instances:remove"
79
79
  alias_command "instance:delete", "instances:remove"
80
+
81
+ command "instances:upgrade" do |c|
82
+ c.description = "Upgrade an instance by hostname or id"
83
+ c.option "--size STRING", String, "The size from 'civo sizes', must be larger than the current size"
84
+ c.example "Upgrades an instance called 'test.example.com' to `g1.large` size", 'civo instances:upgrade test.example.com --size g1.large'
85
+ c.action do |args, options|
86
+ begin
87
+ if args.first[/(\w{8}(-\w{4}){3}-\w{12}?)/]
88
+ id = args.first
89
+ else
90
+ instance = Civo::Instance.all.detect {|i| i.hostname == args.first}
91
+ id = instance.id
92
+ end
93
+ instance = Civo::Instance.upgrade(id: id, size: options.size)
94
+ if instance.result == "ok"
95
+ puts "Instance '#{args.first}' is being upgraded to #{options.size}."
96
+ else
97
+ puts "Failed to upgrade that instance: #{instance.inspect}"
98
+ end
99
+ rescue Flexirest::HTTPUnauthorisedClientException, Flexirest::HTTPForbiddenClientException
100
+ puts "Access denied to your default token, ensure it's set correctly with 'civo tokens'"
101
+ rescue Flexirest::HTTPNotFoundClientException => e
102
+ puts "Couldn't find that account to remove, maybe it's already been removed?"
103
+ rescue Flexirest::HTTPServerException => e
104
+ puts "Unable to remove #{e.result.reason}"
105
+ end
106
+ end
107
+ end
108
+ alias_command "instance:upgrade", "instances:upgrade"
109
+ alias_command "instances:resize", "instances:upgrade"
110
+ alias_command "instance:resize", "instances:upgrade"
111
+
112
+ command "instances:reboot" do |c|
113
+ c.description = "Reboot an instance by hostname or id"
114
+ c.example "Reboot an instance called 'test.example.com'", 'civo instances:reboot test.example.com'
115
+ c.action do |args, options|
116
+ begin
117
+ if args.first[/(\w{8}(-\w{4}){3}-\w{12}?)/]
118
+ id = args.first
119
+ else
120
+ instance = Civo::Instance.all.detect {|i| i.hostname == args.first}
121
+ id = instance.id
122
+ end
123
+ instance = Civo::Instance.reboot(id: id)
124
+ if instance.result == "ok"
125
+ puts "Instance '#{args.first}' is being rebooted."
126
+ else
127
+ puts "Failed to reboot that instance: #{instance.inspect}"
128
+ end
129
+ rescue Flexirest::HTTPUnauthorisedClientException, Flexirest::HTTPForbiddenClientException
130
+ puts "Access denied to your default token, ensure it's set correctly with 'civo tokens'"
131
+ rescue Flexirest::HTTPNotFoundClientException => e
132
+ puts "Couldn't find that account to remove, maybe it's already been removed?"
133
+ rescue Flexirest::HTTPServerException => e
134
+ puts "Unable to remove #{e.result.reason}"
135
+ end
136
+ end
137
+ end
138
+ alias_command "instance:reboot", "instances:reboot"
139
+ alias_command "instances:restart", "instances:reboot"
140
+ alias_command "instance:restart", "instances:reboot"
@@ -1,3 +1,3 @@
1
1
  module Civo
2
- VERSION = "0.1.7"
2
+ VERSION = "0.1.8"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: civo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Jeffries