some 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/VERSION +1 -1
  2. data/bin/some +11 -5
  3. data/lib/some.rb +2 -2
  4. metadata +10 -10
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.8
1
+ 0.0.9
data/bin/some CHANGED
@@ -1,16 +1,17 @@
1
1
  #!/usr/bin/env ruby
2
+ $:.unshift File.dirname(__FILE__) + '/../lib' unless $:.include? File.dirname(__FILE__) + '/../lib'
2
3
 
3
4
  require 'rubygems'
4
- require File.dirname(__FILE__) + '/../lib/some'
5
-
5
+ require 'some'
6
6
  require 'thor'
7
7
 
8
8
  class CLI < Thor
9
9
  desc "launch [<role>]", "launch an instance as role, or omit to ssh to vanilla instance"
10
10
  option :name, :type => :string, :aliases => '-n', :desc => 'instance name'
11
11
  option :skip, :aliases => '-s', :desc => 'skip ssh login'
12
+ option :image_id, :aliases => '-i', :desc => 'image id'
12
13
  def launch(role=nil)
13
- id = task("Launch instance") { some.launch(options[:name]) }
14
+ id = task("Launch instance") { some.launch(options[:name], :image_id => options[:image_id]) }
14
15
  host = task("Acquire hostname") { some.wait_for_hostname(id) }
15
16
  task("Wait for ssh") { some.wait_for_ssh(host) }
16
17
 
@@ -104,9 +105,14 @@ class CLI < Thor
104
105
  end
105
106
 
106
107
  desc "images", "list images"
108
+ option :format, :type => :string, :aliases => '-f', :desc => 'format (json)'
107
109
  def images
108
- some.images.each do |img|
109
- printf "%-5s %s %s\n", img[:image_id], img[:availability_zone], img[:name]
110
+ if options[:format] == 'json'
111
+ puts JSON.pretty_generate(some.images)
112
+ else
113
+ some.images.each do |img|
114
+ printf "%-5s %s %s\n", img[:image_id], img[:availability_zone], img[:name]
115
+ end
110
116
  end
111
117
  end
112
118
 
@@ -6,8 +6,8 @@ require 'socket'
6
6
  require 'json'
7
7
 
8
8
  class Some
9
- def launch(name=nil)
10
- ami = config['ami']
9
+ def launch(name=nil, opts={})
10
+ ami = opts[:image_id] || config['ami']
11
11
  raise "No AMI selected" unless ami
12
12
 
13
13
  create_keypair unless File.exists? keypair_file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: some
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-17 00:00:00.000000000Z
12
+ date: 2013-04-24 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nifty-cloud-sdk
16
- requirement: &197247660 !ruby/object:Gem::Requirement
16
+ requirement: &5236940 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - =
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.11.beta1
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *197247660
24
+ version_requirements: *5236940
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: thor
27
- requirement: &197247140 !ruby/object:Gem::Requirement
27
+ requirement: &5236140 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *197247140
35
+ version_requirements: *5236140
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: net-ssh
38
- requirement: &197246620 !ruby/object:Gem::Requirement
38
+ requirement: &5235080 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *197246620
46
+ version_requirements: *5235080
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: capistrano
49
- requirement: &197246080 !ruby/object:Gem::Requirement
49
+ requirement: &5234340 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *197246080
57
+ version_requirements: *5234340
58
58
  description: sumo clone for NIFTY Cloud
59
59
  email: tidnlyam@gmail.com
60
60
  executables: