joyent 0.0.3 → 0.0.4
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.
- data/VERSION +1 -1
- data/bin/joyent +47 -3
- data/joyent.gemspec +5 -4
- data/lib/joyent/connection.rb +4 -0
- data/lib/joyent/key.rb +16 -0
- data/lib/joyent/keys.rb +19 -0
- data/lib/joyent/machines.rb +1 -1
- metadata +95 -142
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.4
|
data/bin/joyent
CHANGED
@@ -3,8 +3,8 @@
|
|
3
3
|
require 'rubygems'
|
4
4
|
require 'thor'
|
5
5
|
require 'yaml'
|
6
|
-
require File.join(File.dirname(__FILE__), '../lib/joyent')
|
7
6
|
require 'highline/import'
|
7
|
+
require File.join(File.dirname(__FILE__), '../lib/joyent')
|
8
8
|
|
9
9
|
class JoyentCLI < Thor
|
10
10
|
private
|
@@ -28,8 +28,8 @@ class JoyentCLI < Thor
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def get_config
|
31
|
-
@username = ask("Username (login): ")
|
32
|
-
@password = ask("Password: "){|q| q.echo =
|
31
|
+
@username = ask("Username (login): "){|q| q.echo = true}
|
32
|
+
@password = ask("Password: "){|q| q.echo = '*'}
|
33
33
|
|
34
34
|
config_file = File.join(ENV['HOME'], ".joyentcli")
|
35
35
|
config = {"username" => @username, "password" => @password}
|
@@ -38,8 +38,52 @@ class JoyentCLI < Thor
|
|
38
38
|
}
|
39
39
|
end
|
40
40
|
|
41
|
+
def get_rsa_key(key)
|
42
|
+
if key =~ /^ssh-rsa\s/
|
43
|
+
key
|
44
|
+
else
|
45
|
+
File.open(key, 'r').read
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
41
49
|
public
|
42
50
|
|
51
|
+
#
|
52
|
+
# Keys
|
53
|
+
#
|
54
|
+
desc "list_keys", "list all of the available keys"
|
55
|
+
def list_keys
|
56
|
+
conn = get_connection
|
57
|
+
conn.keys.list.each do |dc|
|
58
|
+
puts dc.name
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
desc "get_key NAME", "get the text of the specified key"
|
63
|
+
def get_key(name)
|
64
|
+
conn = get_connection
|
65
|
+
key = conn.keys.get(name)
|
66
|
+
puts key.key
|
67
|
+
end
|
68
|
+
|
69
|
+
desc "create_key", "create a new public key with NAME and KEY"
|
70
|
+
method_option :name, :type => :string, :aliases => "-n", :required => true
|
71
|
+
method_option :key, :type => :string, :aliases => "-k", :required => true
|
72
|
+
def create_key
|
73
|
+
conn = get_connection
|
74
|
+
key = conn.keys.create(options["name"], get_rsa_key(options["key"]))
|
75
|
+
puts key.name
|
76
|
+
puts key.key
|
77
|
+
end
|
78
|
+
|
79
|
+
desc "delete_key NAME", "get the text of the specified key"
|
80
|
+
def delete_key(name)
|
81
|
+
conn = get_connection
|
82
|
+
key = conn.keys.get(name)
|
83
|
+
key.delete
|
84
|
+
puts "DELETED: #{key.name}"
|
85
|
+
end
|
86
|
+
|
43
87
|
#
|
44
88
|
# Datacenters
|
45
89
|
#
|
data/joyent.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{joyent}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.4"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Ben Wyrosdick"]
|
12
|
-
s.date = %q{2011-09-
|
12
|
+
s.date = %q{2011-09-29}
|
13
13
|
s.default_executable = %q{joyent}
|
14
14
|
s.description = %q{Ruby interface to the joyent cloud API}
|
15
15
|
s.email = %q{ben.wyrosdick@gmail.com}
|
@@ -34,6 +34,8 @@ Gem::Specification.new do |s|
|
|
34
34
|
"lib/joyent/datacenters.rb",
|
35
35
|
"lib/joyent/dataset.rb",
|
36
36
|
"lib/joyent/datasets.rb",
|
37
|
+
"lib/joyent/key.rb",
|
38
|
+
"lib/joyent/keys.rb",
|
37
39
|
"lib/joyent/machine.rb",
|
38
40
|
"lib/joyent/machines.rb",
|
39
41
|
"lib/joyent/package.rb",
|
@@ -44,11 +46,10 @@ Gem::Specification.new do |s|
|
|
44
46
|
s.homepage = %q{http://github.com/mongohq/joyent}
|
45
47
|
s.licenses = ["MIT"]
|
46
48
|
s.require_paths = ["lib"]
|
47
|
-
s.rubygems_version = %q{1.
|
49
|
+
s.rubygems_version = %q{1.6.2}
|
48
50
|
s.summary = %q{Ruby interface to the joyent cloud API}
|
49
51
|
|
50
52
|
if s.respond_to? :specification_version then
|
51
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
52
53
|
s.specification_version = 3
|
53
54
|
|
54
55
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
data/lib/joyent/connection.rb
CHANGED
data/lib/joyent/key.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
module Joyent
|
2
|
+
class Key
|
3
|
+
attr_reader :name, :key
|
4
|
+
|
5
|
+
def initialize(connection, attributes)
|
6
|
+
@connection = connection
|
7
|
+
|
8
|
+
@name = attributes["name"]
|
9
|
+
@key = attributes["key"]
|
10
|
+
end
|
11
|
+
|
12
|
+
def delete
|
13
|
+
@connection.execute(:delete, "/keys/#{name}")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/joyent/keys.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
module Joyent
|
2
|
+
class Keys
|
3
|
+
def initialize(connection)
|
4
|
+
@connection = connection
|
5
|
+
end
|
6
|
+
|
7
|
+
def list
|
8
|
+
@connection.execute(:get, "/keys").map{|attributes| Joyent::Key.new(@connection, attributes)}
|
9
|
+
end
|
10
|
+
|
11
|
+
def get(name)
|
12
|
+
Joyent::Key.new(@connection, @connection.execute(:get, "/keys/#{name}"))
|
13
|
+
end
|
14
|
+
|
15
|
+
def create(name, key)
|
16
|
+
Joyent::Key.new(@connection, @connection.execute(:post, "/keys", {:name => name, :key => key}))
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/joyent/machines.rb
CHANGED
metadata
CHANGED
@@ -1,179 +1,136 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: joyent
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 3
|
10
|
-
version: 0.0.3
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.4
|
5
|
+
prerelease:
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Ben Wyrosdick
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
date: 2011-09-15 00:00:00 -07:00
|
12
|
+
date: 2011-09-29 00:00:00.000000000 -07:00
|
19
13
|
default_executable: joyent
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
22
|
-
type: :runtime
|
23
|
-
prerelease: false
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
24
16
|
name: json
|
25
|
-
|
17
|
+
requirement: &2152071900 !ruby/object:Gem::Requirement
|
26
18
|
none: false
|
27
|
-
requirements:
|
28
|
-
- -
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
|
31
|
-
segments:
|
32
|
-
- 0
|
33
|
-
version: "0"
|
34
|
-
requirement: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '0'
|
36
23
|
type: :runtime
|
37
24
|
prerelease: false
|
25
|
+
version_requirements: *2152071900
|
26
|
+
- !ruby/object:Gem::Dependency
|
38
27
|
name: thor
|
39
|
-
|
28
|
+
requirement: &2152071420 !ruby/object:Gem::Requirement
|
40
29
|
none: false
|
41
|
-
requirements:
|
42
|
-
- -
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
|
45
|
-
|
46
|
-
- 0
|
47
|
-
version: "0"
|
48
|
-
requirement: *id002
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
type: :development
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
51
35
|
prerelease: false
|
36
|
+
version_requirements: *2152071420
|
37
|
+
- !ruby/object:Gem::Dependency
|
52
38
|
name: shoulda
|
53
|
-
|
39
|
+
requirement: &2152070940 !ruby/object:Gem::Requirement
|
54
40
|
none: false
|
55
|
-
requirements:
|
56
|
-
- -
|
57
|
-
- !ruby/object:Gem::Version
|
58
|
-
|
59
|
-
segments:
|
60
|
-
- 0
|
61
|
-
version: "0"
|
62
|
-
requirement: *id003
|
63
|
-
- !ruby/object:Gem::Dependency
|
41
|
+
requirements:
|
42
|
+
- - ! '>='
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '0'
|
64
45
|
type: :development
|
65
46
|
prerelease: false
|
47
|
+
version_requirements: *2152070940
|
48
|
+
- !ruby/object:Gem::Dependency
|
66
49
|
name: yard
|
67
|
-
|
50
|
+
requirement: &2152070460 !ruby/object:Gem::Requirement
|
68
51
|
none: false
|
69
|
-
requirements:
|
52
|
+
requirements:
|
70
53
|
- - ~>
|
71
|
-
- !ruby/object:Gem::Version
|
72
|
-
hash: 7
|
73
|
-
segments:
|
74
|
-
- 0
|
75
|
-
- 6
|
76
|
-
- 0
|
54
|
+
- !ruby/object:Gem::Version
|
77
55
|
version: 0.6.0
|
78
|
-
requirement: *id004
|
79
|
-
- !ruby/object:Gem::Dependency
|
80
56
|
type: :development
|
81
57
|
prerelease: false
|
58
|
+
version_requirements: *2152070460
|
59
|
+
- !ruby/object:Gem::Dependency
|
82
60
|
name: bundler
|
83
|
-
|
61
|
+
requirement: &2152069980 !ruby/object:Gem::Requirement
|
84
62
|
none: false
|
85
|
-
requirements:
|
63
|
+
requirements:
|
86
64
|
- - ~>
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
hash: 23
|
89
|
-
segments:
|
90
|
-
- 1
|
91
|
-
- 0
|
92
|
-
- 0
|
65
|
+
- !ruby/object:Gem::Version
|
93
66
|
version: 1.0.0
|
94
|
-
requirement: *id005
|
95
|
-
- !ruby/object:Gem::Dependency
|
96
67
|
type: :development
|
97
68
|
prerelease: false
|
69
|
+
version_requirements: *2152069980
|
70
|
+
- !ruby/object:Gem::Dependency
|
98
71
|
name: jeweler
|
99
|
-
|
72
|
+
requirement: &2152085860 !ruby/object:Gem::Requirement
|
100
73
|
none: false
|
101
|
-
requirements:
|
74
|
+
requirements:
|
102
75
|
- - ~>
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
hash: 7
|
105
|
-
segments:
|
106
|
-
- 1
|
107
|
-
- 6
|
108
|
-
- 4
|
76
|
+
- !ruby/object:Gem::Version
|
109
77
|
version: 1.6.4
|
110
|
-
requirement: *id006
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
78
|
type: :development
|
113
79
|
prerelease: false
|
80
|
+
version_requirements: *2152085860
|
81
|
+
- !ruby/object:Gem::Dependency
|
114
82
|
name: rcov
|
115
|
-
|
83
|
+
requirement: &2152085380 !ruby/object:Gem::Requirement
|
116
84
|
none: false
|
117
|
-
requirements:
|
118
|
-
- -
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
|
121
|
-
|
122
|
-
- 0
|
123
|
-
version: "0"
|
124
|
-
requirement: *id007
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
type: :runtime
|
85
|
+
requirements:
|
86
|
+
- - ! '>='
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
89
|
+
type: :development
|
127
90
|
prerelease: false
|
91
|
+
version_requirements: *2152085380
|
92
|
+
- !ruby/object:Gem::Dependency
|
128
93
|
name: highline
|
129
|
-
|
94
|
+
requirement: &2152084900 !ruby/object:Gem::Requirement
|
130
95
|
none: false
|
131
|
-
requirements:
|
132
|
-
- -
|
133
|
-
- !ruby/object:Gem::Version
|
134
|
-
|
135
|
-
segments:
|
136
|
-
- 0
|
137
|
-
version: "0"
|
138
|
-
requirement: *id008
|
139
|
-
- !ruby/object:Gem::Dependency
|
96
|
+
requirements:
|
97
|
+
- - ! '>='
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '0'
|
140
100
|
type: :runtime
|
141
101
|
prerelease: false
|
102
|
+
version_requirements: *2152084900
|
103
|
+
- !ruby/object:Gem::Dependency
|
142
104
|
name: thor
|
143
|
-
|
105
|
+
requirement: &2152084420 !ruby/object:Gem::Requirement
|
144
106
|
none: false
|
145
|
-
requirements:
|
146
|
-
- -
|
147
|
-
- !ruby/object:Gem::Version
|
148
|
-
|
149
|
-
segments:
|
150
|
-
- 0
|
151
|
-
version: "0"
|
152
|
-
requirement: *id009
|
153
|
-
- !ruby/object:Gem::Dependency
|
107
|
+
requirements:
|
108
|
+
- - ! '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
154
111
|
type: :runtime
|
155
112
|
prerelease: false
|
113
|
+
version_requirements: *2152084420
|
114
|
+
- !ruby/object:Gem::Dependency
|
156
115
|
name: json
|
157
|
-
|
116
|
+
requirement: &2152083940 !ruby/object:Gem::Requirement
|
158
117
|
none: false
|
159
|
-
requirements:
|
160
|
-
- -
|
161
|
-
- !ruby/object:Gem::Version
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
requirement: *id010
|
118
|
+
requirements:
|
119
|
+
- - ! '>='
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: '0'
|
122
|
+
type: :runtime
|
123
|
+
prerelease: false
|
124
|
+
version_requirements: *2152083940
|
167
125
|
description: Ruby interface to the joyent cloud API
|
168
126
|
email: ben.wyrosdick@gmail.com
|
169
|
-
executables:
|
127
|
+
executables:
|
170
128
|
- joyent
|
171
129
|
extensions: []
|
172
|
-
|
173
|
-
extra_rdoc_files:
|
130
|
+
extra_rdoc_files:
|
174
131
|
- LICENSE.txt
|
175
132
|
- README.rdoc
|
176
|
-
files:
|
133
|
+
files:
|
177
134
|
- .document
|
178
135
|
- Gemfile
|
179
136
|
- Gemfile.lock
|
@@ -189,6 +146,8 @@ files:
|
|
189
146
|
- lib/joyent/datacenters.rb
|
190
147
|
- lib/joyent/dataset.rb
|
191
148
|
- lib/joyent/datasets.rb
|
149
|
+
- lib/joyent/key.rb
|
150
|
+
- lib/joyent/keys.rb
|
192
151
|
- lib/joyent/machine.rb
|
193
152
|
- lib/joyent/machines.rb
|
194
153
|
- lib/joyent/package.rb
|
@@ -197,37 +156,31 @@ files:
|
|
197
156
|
- test/test_joyent.rb
|
198
157
|
has_rdoc: true
|
199
158
|
homepage: http://github.com/mongohq/joyent
|
200
|
-
licenses:
|
159
|
+
licenses:
|
201
160
|
- MIT
|
202
161
|
post_install_message:
|
203
162
|
rdoc_options: []
|
204
|
-
|
205
|
-
require_paths:
|
163
|
+
require_paths:
|
206
164
|
- lib
|
207
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
165
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
208
166
|
none: false
|
209
|
-
requirements:
|
210
|
-
- -
|
211
|
-
- !ruby/object:Gem::Version
|
212
|
-
|
213
|
-
segments:
|
167
|
+
requirements:
|
168
|
+
- - ! '>='
|
169
|
+
- !ruby/object:Gem::Version
|
170
|
+
version: '0'
|
171
|
+
segments:
|
214
172
|
- 0
|
215
|
-
|
216
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
173
|
+
hash: 2383781494508247953
|
174
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
217
175
|
none: false
|
218
|
-
requirements:
|
219
|
-
- -
|
220
|
-
- !ruby/object:Gem::Version
|
221
|
-
|
222
|
-
segments:
|
223
|
-
- 0
|
224
|
-
version: "0"
|
176
|
+
requirements:
|
177
|
+
- - ! '>='
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: '0'
|
225
180
|
requirements: []
|
226
|
-
|
227
181
|
rubyforge_project:
|
228
|
-
rubygems_version: 1.
|
182
|
+
rubygems_version: 1.6.2
|
229
183
|
signing_key:
|
230
184
|
specification_version: 3
|
231
185
|
summary: Ruby interface to the joyent cloud API
|
232
186
|
test_files: []
|
233
|
-
|