pearl 0.0.6 → 0.0.7

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: de4e4ffb1c681b92840f28d7f3e6870293db3115
4
- data.tar.gz: 9987cc2ac410bcaca69fcdf9d390835b80d9c346
3
+ metadata.gz: 5d46e1fb5bffc38a2878437784aecf22aade76e9
4
+ data.tar.gz: de62586bc374afdd5104c49313057483d212acb1
5
5
  SHA512:
6
- metadata.gz: 28ee38d169718640ad3a92483c541235e84e267debd7295b6472ca849141f56007951bc4415e48eea51059ab6055efd39e853870d301f2fe5a13a86bf89cd56c
7
- data.tar.gz: b2b9c0a3bfe3651fc11c6a94071af819be100d0ab85e108f59c9dc717f7f8d69e8bc34538862110e7923c11c5ae460775d1728f9197687662fd61fdd5bba0773
6
+ metadata.gz: ffb700fb93b64cfd5f9d8846dcabd686f98a494d26f307eb2c24b35fcee23a3a3c223dce9ef41a4b6385314ee02bbb5bef82b7315a890fc9d0debc2cb87af816
7
+ data.tar.gz: 1d375b32c9d59fe188bb488906cb5e132f381ce86eed82c8561b78ba5a59a4ea47c0f964cfecb946d77245a1c5ab908494435c6230a296287b4abccde8edc8de
data/README.md CHANGED
@@ -81,6 +81,10 @@ Disable automatic backups
81
81
 
82
82
  $ pearl droplet disable backups -d <droplet id>
83
83
 
84
+ Rename droplet
85
+
86
+ $ pearl droplet rename <name> -d <droplet id>
87
+
84
88
  Destroy droplet
85
89
 
86
90
  $ pearl droplet destroy -d <droplet id>
@@ -119,19 +123,27 @@ To destroy an image
119
123
 
120
124
  $ pearl image destroy -i <image id>
121
125
 
126
+ To transfer an image
127
+
128
+ $ pearl image transfer -i <image id> -r <region id>
129
+
122
130
  ### SSH Keys
123
131
 
124
132
  Display all ssh keys
125
133
 
126
134
  $ pearl ssh_keys
127
135
 
136
+ Add a ssh key
137
+
138
+ $ pearl ssh_key add <name> -p <public ssh key>
139
+
128
140
  To view a ssh key
129
141
 
130
- $ pearl ssh_key -k <ssh_key_id>
142
+ $ pearl ssh_key -k <ssh key id>
131
143
 
132
144
  To delete a ssh key
133
145
 
134
- $ paerl ssh_key destroy -k <ssh_key_id>
146
+ $ pearl ssh_key destroy -k <ssh key id>
135
147
 
136
148
  ## TODO
137
149
 
@@ -11,7 +11,7 @@ module Pearl
11
11
  region = nil
12
12
  size = nil
13
13
  ssh_key_ids = nil
14
- ssh_key_pub = nil
14
+ public_ssh_key = nil
15
15
 
16
16
  opts = OptionParser.new do |opts|
17
17
  opts.banner = "Usage: pearl [resource] [options]"
@@ -37,10 +37,14 @@ module Pearl
37
37
  size = s
38
38
  end
39
39
 
40
- opts.on('-k', '--ssh_key_ids [KEY ID]', 'SSH Keys to add to the droplet') do |k|
40
+ opts.on('-k', '--ssh_key_ids [KEY ID]', 'SSH Keys for the droplet') do |k|
41
41
  ssh_key_ids = k
42
42
  end
43
43
 
44
+ opts.on('-p', '--public_ssh_key [PUBLIC SSH KEY]', 'Public SSH Key to add to the droplet') do |k|
45
+ public_ssh_key = p
46
+ end
47
+
44
48
  opts.on('-v', '--version', 'Display version') do
45
49
  puts Pearl::VERSION
46
50
  exit
@@ -177,6 +181,15 @@ module Pearl
177
181
 
178
182
  Pearl.disable_backups(droplet_id)
179
183
  exit
184
+ when /\Adroplet rename [\w\s]{3,}\z/i
185
+ droplet_id = droplet.to_i
186
+ raise 'Error: Invalid droplet id.' if droplet_id == 0 || !droplet_id.is_a?(Fixnum)
187
+
188
+ name = command.split(' ', 3)[2]
189
+ raise 'Error: Invalid droplet name.' if name.nil? || name.length <= 0
190
+
191
+ Pearl.rename(droplet_id, name)
192
+ exit
180
193
  when /\Adroplet (destroy|delete)\z/i
181
194
  droplet_id = droplet.to_i
182
195
  raise 'Error: Invalid droplet id.' if droplet_id == 0 || !droplet_id.is_a?(Fixnum)
@@ -204,6 +217,15 @@ module Pearl
204
217
 
205
218
  Pearl.destroy_image(image_id)
206
219
  exit
220
+ when /\Aimage (transfer)\z/i
221
+ image_id = image.to_i
222
+ raise 'Error: Invalid image id.' if image_id == 0 || !image_id.is_a?(Fixnum)
223
+
224
+ region_id = region.to_i
225
+ raise 'Error: Invalid region id.' if region_id == 0 || !region_id.is_a?(Fixnum)
226
+
227
+ Pearl.transfer(image_id, region_id)
228
+ exit
207
229
  when /\Aregions\z/i
208
230
  Pearl.regions
209
231
  exit
@@ -217,7 +239,14 @@ module Pearl
217
239
  raise 'Error: Invalid SSH Key ID.' if ssh_key_ids == 0 || !ssh_key_ids.is_a?(Fixnum)
218
240
  Pearl.ssh_key(ssh_key_ids)
219
241
  exit
242
+ when /\sssh_key add [\w\-\.]{3,}\z/i
243
+ name = command.split(' ', 3)[2]
244
+ raise 'Error: Invalid ssh key name.' if name.nil? || name.length <= 0
220
245
 
246
+ raise 'Error: Invalid public ssh key id.' if public_ssh_key.nil? || public_ssh_key.nil?
247
+
248
+ Pearl.add_ssh_key(name, public_ssh_key)
249
+ exit
221
250
  when /\Assh_key (destroy|delete)\z/i
222
251
  ssh_key_ids = ssh_key_ids.to_i
223
252
  raise 'Error: Invalid SSH Key ID.' if ssh_key_ids == 0 || !ssh_key_ids.is_a?(Fixnum)
@@ -60,7 +60,6 @@ module Pearl
60
60
  end
61
61
 
62
62
  def snapshot(id, name)
63
- puts name
64
63
  params = { name: name }
65
64
  response = request("droplets/#{id}/snapshot", params).body
66
65
  pretty_event("Creating snapshot '#{name}' of droplet #{id}", response)
@@ -88,6 +87,12 @@ module Pearl
88
87
  pretty_event("Disabling auto backups for droplet #{id}", response)
89
88
  end
90
89
 
90
+ def rename(id, name)
91
+ params = { name: name }
92
+ response = request("droplets/#{id}/rename", params).body
93
+ pretty_event("Renaming droplet '#{id}' to #{name}", response)
94
+ end
95
+
91
96
  def destroy_droplet(id)
92
97
  response = request("droplets/#{id}/destroy").body
93
98
  pretty_event("Destroying droplet #{id}", response)
@@ -23,6 +23,12 @@ module Pearl
23
23
  response = request("images/#{id}/destroy").body
24
24
  pretty_event("Destroying image #{id}", response)
25
25
  end
26
+
27
+ def transfer(id, region)
28
+ params = { region_id: region }
29
+ response = request("images/#{id}/transfer", params).body
30
+ pretty_event("Transferring image '#{id}' to region #{region}", response)
31
+ end
26
32
  end
27
33
  end
28
34
  end
@@ -13,6 +13,14 @@ module Pearl
13
13
  pretty_table('SSH Key', response)
14
14
  end
15
15
 
16
+ def add_ssh_key(name, public_ssh_key)
17
+ params = { name: name,
18
+ public_ssh_key: public_ssh_key
19
+ }
20
+ response = request("ssh_keys/new", params).body
21
+ pretty_table("SSH Key: #{name}", response)
22
+ end
23
+
16
24
  def delete_ssh_key(id)
17
25
  response = request("ssh_keys/#{id}/destroy").body
18
26
  pretty_basic("Deleting ssh key #{id}", response)
@@ -1,3 +1,3 @@
1
1
  module Pearl
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pearl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manish Valechha
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-04-30 00:00:00.000000000 Z
11
+ date: 2013-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler