some 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.
Files changed (6) hide show
  1. data/README.md +4 -0
  2. data/VERSION +1 -1
  3. data/bin/some +14 -0
  4. data/lib/some.rb +31 -2
  5. metadata +6 -8
  6. data/TODO +0 -5
data/README.md CHANGED
@@ -107,6 +107,10 @@ NIFTY Cloud 上で手軽にサーバーを立ち上げることができます
107
107
  * サーバー作成の際に something という名前の SSH キーと FW を作成します
108
108
  * SSH キーは ~/.some/keypair.pem に保存されます
109
109
 
110
+ ## TODO
111
+
112
+ * image_id=17 (Ubuntu 10.04) で bootstrap できない (apt-get update; apt-get install -y curl する必要あり)
113
+
110
114
  ## ライセンス
111
115
 
112
116
  [sumo](http://github.com/adamwiggins/sumo) と同じく MIT ライセンスで公開します。
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.3
1
+ 0.0.4
data/bin/some CHANGED
@@ -79,6 +79,13 @@ class CLI < Thor
79
79
  puts "port #{port} scheduled for open"
80
80
  end
81
81
 
82
+ desc "fwlist", "list firewall rules"
83
+ def fwlist
84
+ some.firewall_list.each do |fw|
85
+ printf "%5s %5s %3s %s\n", fw[:ip_protocol], fw[:from_port], fw[:in_out], (fw[:group] || fw[:cidr])
86
+ end
87
+ end
88
+
82
89
  desc "reset", "delete all the resources created by some (instances, security group, key pair)"
83
90
  def reset
84
91
  some.list.each do |inst|
@@ -88,6 +95,13 @@ class CLI < Thor
88
95
  task("Delete key pair") { some.delete_keypair }
89
96
  end
90
97
 
98
+ desc "images", "list images"
99
+ def images
100
+ some.images.each do |img|
101
+ printf "%-5s %s %s\n", img[:image_id], img[:availability_zone], img[:name]
102
+ end
103
+ end
104
+
91
105
  no_tasks do
92
106
  def some
93
107
  @some ||= Some.new
@@ -21,7 +21,8 @@ class Some
21
21
  :security_group => 'something',
22
22
  :availability_zone => config['availability_zone'],
23
23
  :disable_api_termination => false,
24
- :accounting_type => 2
24
+ :accounting_type => 2,
25
+ :agreement => true # for RHEL subscription
25
26
  )
26
27
  result.instancesSet.item[0].instanceId
27
28
  end
@@ -30,6 +31,34 @@ class Some
30
31
  @list ||= fetch_list
31
32
  end
32
33
 
34
+ def firewall_list
35
+ security_group = find_security_group
36
+ return [] if security_group.nil? || security_group.ipPermissions.nil?
37
+
38
+ security_group.ipPermissions.item.map do |row|
39
+ {
40
+ :ip_protocol => row["ipProtocol"],
41
+ :from_port => row["fromPort"],
42
+ :in_out => row["inOut"],
43
+ :group => row["groupName"],
44
+ :cidr => (row["ipRanges"]["item"].first["cidrIp"] rescue nil)
45
+ }
46
+ end
47
+ end
48
+
49
+ def images
50
+ result = api.describe_images
51
+ return [] unless result.imagesSet
52
+
53
+ result.imagesSet.item.map do |row|
54
+ {
55
+ :image_id => row["imageId"],
56
+ :name => row["name"],
57
+ :availability_zone => row["availabilityZone"]
58
+ }
59
+ end
60
+ end
61
+
33
62
  def volumes
34
63
  result = api.describe_volumes
35
64
  return [] unless result.volumeSet
@@ -227,7 +256,7 @@ class Some
227
256
  {
228
257
  'user' => 'root',
229
258
  'ami' => 26,
230
- 'availability_zone' => 'east-12',
259
+ 'availability_zone' => 'west-11',
231
260
  'password' => 'password'
232
261
  }
233
262
  end
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.3
4
+ version: 0.0.4
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-06 00:00:00.000000000Z
12
+ date: 2013-04-07 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nifty-cloud-sdk
16
- requirement: &197055520 !ruby/object:Gem::Requirement
16
+ requirement: &212713900 !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: *197055520
24
+ version_requirements: *212713900
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: thor
27
- requirement: &197055000 !ruby/object:Gem::Requirement
27
+ requirement: &212713320 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *197055000
35
+ version_requirements: *212713320
36
36
  description: sumo clone for NIFTY Cloud
37
37
  email: tidnlyam@gmail.com
38
38
  executables:
@@ -40,11 +40,9 @@ executables:
40
40
  extensions: []
41
41
  extra_rdoc_files:
42
42
  - README.md
43
- - TODO
44
43
  files:
45
44
  - README.md
46
45
  - Rakefile
47
- - TODO
48
46
  - VERSION
49
47
  - bin/some
50
48
  - lib/some.rb
data/TODO DELETED
@@ -1,5 +0,0 @@
1
- *
2
- ----------------------------------------
3
- * motd
4
- * hostname
5
- * nifty_cloud