joyent 0.0.4 → 0.0.5

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 CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 0.0.5
data/bin/joyent CHANGED
@@ -9,10 +9,10 @@ require File.join(File.dirname(__FILE__), '../lib/joyent')
9
9
  class JoyentCLI < Thor
10
10
  private
11
11
 
12
- def get_connection
12
+ def get_connection(datacenter = Joyent::Datacenters.default)
13
13
  get_config unless load_config
14
14
 
15
- Joyent::Connection.new(@username, @password)
15
+ Joyent::Connection.new(@username, @password, datacenter)
16
16
  end
17
17
 
18
18
  def load_config
@@ -121,8 +121,9 @@ class JoyentCLI < Thor
121
121
  # Machines
122
122
  #
123
123
  desc "list_machines", "list all of the machines on the account"
124
+ method_option :datacenter, :type => :string, :aliases => "-D", :default => Joyent::Datacenters.default
124
125
  def list_machines
125
- conn = get_connection
126
+ conn = get_connection(options["datacenter"])
126
127
  conn.machines.list.each do |m|
127
128
  puts "#{m.name} [#{m.id}]: #{m.dataset} (#{m.state})"
128
129
  end
@@ -132,47 +133,53 @@ class JoyentCLI < Thor
132
133
  method_option :name, :type => :string, :aliases => "-n"
133
134
  method_option :package, :type => :string, :aliases => "-p"
134
135
  method_option :dataset, :type => :string, :aliases => "-d"
136
+ method_option :datacenter, :type => :string, :aliases => "-D", :default => Joyent::Datacenters.default
135
137
  def create_machine
136
- conn = get_connection
138
+ conn = get_connection(options["datacenter"])
137
139
  m = conn.machines.create(options)
138
140
  puts "#{m.name}: #{m.dataset} (#{m.state})"
139
141
  end
140
142
 
141
143
  desc "stop_machine ID", "stops the machine with the given ID"
144
+ method_option :datacenter, :type => :string, :aliases => "-D", :default => Joyent::Datacenters.default
142
145
  def stop_machine(id)
143
- conn = get_connection
146
+ conn = get_connection(options["datacenter"])
144
147
  m = conn.machines.get(id)
145
148
  m.stop
146
149
  puts "#{m.name} [#{m.id}] STOPPED"
147
150
  end
148
151
 
149
152
  desc "start_machine ID", "starts the machine with the given ID"
153
+ method_option :datacenter, :type => :string, :aliases => "-D", :default => Joyent::Datacenters.default
150
154
  def start_machine(id)
151
- conn = get_connection
155
+ conn = get_connection(options["datacenter"])
152
156
  m = conn.machines.get(id)
153
157
  m.start
154
158
  puts "#{m.name} [#{m.id}] STARTED"
155
159
  end
156
160
 
157
161
  desc "reboot_machine ID", "reboots the machine with the given ID"
162
+ method_option :datacenter, :type => :string, :aliases => "-D", :default => Joyent::Datacenters.default
158
163
  def reboot_machine(id)
159
- conn = get_connection
164
+ conn = get_connection(options["datacenter"])
160
165
  m = conn.machines.get(id)
161
166
  m.reboot
162
167
  puts "#{m.name} [#{m.id}] REBOOTED"
163
168
  end
164
169
 
165
170
  desc "resize_machine ID PACKAGE", "stops the machine with the given ID to the specified PACKAGE"
171
+ method_option :datacenter, :type => :string, :aliases => "-D", :default => Joyent::Datacenters.default
166
172
  def resize_machine(id, package)
167
- conn = get_connection
173
+ conn = get_connection(options["datacenter"])
168
174
  m = conn.machines.get(id)
169
175
  m.resize(package)
170
176
  puts "#{m.name} [#{m.id}] RESIZED to #{package}"
171
177
  end
172
178
 
173
179
  desc "delete_machine ID", "deletes the machine with the given ID"
180
+ method_option :datacenter, :type => :string, :aliases => "-D", :default => Joyent::Datacenters.default
174
181
  def delete_machine(id)
175
- conn = get_connection
182
+ conn = get_connection(options["datacenter"])
176
183
  m = conn.machines.get(id)
177
184
  m.delete
178
185
  puts "#{m.name} [#{m.id}] DELETED"
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{joyent}
8
- s.version = "0.0.4"
8
+ s.version = "0.0.5"
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-29}
12
+ s.date = %q{2011-10-02}
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}
@@ -1,7 +1,7 @@
1
1
  module Joyent
2
2
  class Connection
3
- def initialize(username, password)
4
- @http_connection = Net::HTTP.new(Joyent::API_ENDPOINT, 443)
3
+ def initialize(username, password, datacenter = Datacenters.default)
4
+ @http_connection = Net::HTTP.new(datacenter, 443)
5
5
  @http_connection.use_ssl = true
6
6
  @http_connection.verify_mode = OpenSSL::SSL::VERIFY_NONE
7
7
 
@@ -4,6 +4,10 @@ module Joyent
4
4
  @connection = connection
5
5
  end
6
6
 
7
+ def self.default
8
+ Joyent::API_ENDPOINT
9
+ end
10
+
7
11
  def list
8
12
  @connection.execute(:get, "/datacenters").map{|name, url| Joyent::Datacenter.new(name, url)}
9
13
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: joyent
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-09-29 00:00:00.000000000 -07:00
12
+ date: 2011-10-02 00:00:00.000000000 -07:00
13
13
  default_executable: joyent
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: json
17
- requirement: &2152071900 !ruby/object:Gem::Requirement
17
+ requirement: &2172690260 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2152071900
25
+ version_requirements: *2172690260
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: thor
28
- requirement: &2152071420 !ruby/object:Gem::Requirement
28
+ requirement: &2172689780 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *2152071420
36
+ version_requirements: *2172689780
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: shoulda
39
- requirement: &2152070940 !ruby/object:Gem::Requirement
39
+ requirement: &2172689300 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: '0'
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *2152070940
47
+ version_requirements: *2172689300
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: yard
50
- requirement: &2152070460 !ruby/object:Gem::Requirement
50
+ requirement: &2172688820 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 0.6.0
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *2152070460
58
+ version_requirements: *2172688820
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: bundler
61
- requirement: &2152069980 !ruby/object:Gem::Requirement
61
+ requirement: &2172705460 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ~>
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 1.0.0
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *2152069980
69
+ version_requirements: *2172705460
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: jeweler
72
- requirement: &2152085860 !ruby/object:Gem::Requirement
72
+ requirement: &2172704980 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ~>
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: 1.6.4
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *2152085860
80
+ version_requirements: *2172704980
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: rcov
83
- requirement: &2152085380 !ruby/object:Gem::Requirement
83
+ requirement: &2172704500 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ! '>='
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: '0'
89
89
  type: :development
90
90
  prerelease: false
91
- version_requirements: *2152085380
91
+ version_requirements: *2172704500
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: highline
94
- requirement: &2152084900 !ruby/object:Gem::Requirement
94
+ requirement: &2172704020 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ! '>='
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: '0'
100
100
  type: :runtime
101
101
  prerelease: false
102
- version_requirements: *2152084900
102
+ version_requirements: *2172704020
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: thor
105
- requirement: &2152084420 !ruby/object:Gem::Requirement
105
+ requirement: &2172703540 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ! '>='
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: '0'
111
111
  type: :runtime
112
112
  prerelease: false
113
- version_requirements: *2152084420
113
+ version_requirements: *2172703540
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: json
116
- requirement: &2152083940 !ruby/object:Gem::Requirement
116
+ requirement: &2172703060 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ! '>='
@@ -121,7 +121,7 @@ dependencies:
121
121
  version: '0'
122
122
  type: :runtime
123
123
  prerelease: false
124
- version_requirements: *2152083940
124
+ version_requirements: *2172703060
125
125
  description: Ruby interface to the joyent cloud API
126
126
  email: ben.wyrosdick@gmail.com
127
127
  executables:
@@ -170,7 +170,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
170
170
  version: '0'
171
171
  segments:
172
172
  - 0
173
- hash: 2383781494508247953
173
+ hash: -2890318799223133059
174
174
  required_rubygems_version: !ruby/object:Gem::Requirement
175
175
  none: false
176
176
  requirements: