nchosts 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 04b1813fad560b4bd9a629aaf673cd504ef5ff37
4
+ data.tar.gz: 208e578dce91394e11b829823965791a851e5a29
5
+ SHA512:
6
+ metadata.gz: b73697b633c9b1440fbaf1299e942dd14dff175a3b60c8a1295596012904827410f182d45009d73d0030596dd5064e0a8675816d5e2092aa786fca08aafe4e17
7
+ data.tar.gz: 057f7c87bf6762db0516bf32dd1c9350e3478e260f41502806b188363aeb99cc0c1ae42cce9f04e5158675d11d15fd195df47f4a38f8dd88ce7c954f745bd076
data/README.md CHANGED
@@ -1,6 +1,46 @@
1
- # Nchosts
1
+ # nchosts
2
2
 
3
- TODO: Write a gem description
3
+ ニフティクラウドの API からさまざまな形式 (hosts, ssh_config, shell alias 等) のサーバー一覧情報を生成します。
4
+ 複数のアカウントにまたがり大量のサーバーを運用しているような場合に便利です。
5
+
6
+ ## Usage
7
+
8
+ まず、アカウント情報が書かれた設定ファイル `accounts.json` を作成します。
9
+ (安全に利用するため閲覧権限のみ付与した API キーを利用しましょう。)
10
+
11
+ $ cat accounts.json
12
+ {
13
+ "accounts": [
14
+ {
15
+ "nifty_id": "ABC00001.readonly",
16
+ "access_key_id": "LLLLLLLLLLLLLLLLLLLL",
17
+ "secret_access_key": "MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM",
18
+ },
19
+ {
20
+ "nifty_id": "ABC00002.readonly",
21
+ "access_key_id": "NNNNNNNNNNNNNNNNNNNN",
22
+ "secret_access_key": "OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO",
23
+ }
24
+ ]
25
+ }
26
+
27
+ 上記 `accounts.json` を引数に `nchosts collect` コマンドを実行します。
28
+
29
+ $ nchosts collect -c accounts.json -o instances.json
30
+
31
+ `accounts.json` に書かれたアカウント情報を元に、各アカウントの全リージョン分のサーバー一覧情報が取得されます。
32
+ 取得された情報は `-o` (`--output`) オプションに指定したファイル (`instances.json`) へ書き込まれます。
33
+
34
+ この `instances.json` を利用してさまざまな形式のサーバー一覧情報を生成することができます。
35
+
36
+ $ nchosts generate -i instances.json -f hosts >> /etc/hosts
37
+ $ nchosts generate -i instances.json -f ssh_config >> ~/.ssh/config
38
+ $ nchosts generate -i instances.json -f aliases >> ~/.ssh/config
39
+
40
+ 自分で書いた erubis 形式のテンプレートファイルを利用することもできます。
41
+ テンプレートの中では `instances` というローカル変数 (配列) でサーバー情報の一覧を参照できます。
42
+
43
+ $ nchosts generate -i instances.json -t template.erb > myhosts.txt
4
44
 
5
45
  ## Installation
6
46
 
@@ -16,12 +56,6 @@ Or install it yourself as:
16
56
 
17
57
  $ gem install nchosts
18
58
 
19
- ## Usage
20
-
21
- TODO: Write usage instructions here
22
-
23
- * ヒント: 安全に利用するため閲覧権限の API キーを利用することが推奨です
24
-
25
59
  ## Contributing
26
60
 
27
61
  1. Fork it ( https://github.com/[my-github-username]/nchosts/fork )
@@ -0,0 +1,3 @@
1
+ <% instances.each do |instance| %>
2
+ <%= instance['ipAddress'] %> <%= instance['instanceId'] %>
3
+ <% end %>
@@ -1,3 +1,3 @@
1
1
  module Nchosts
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nchosts
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
5
- prerelease:
4
+ version: 0.0.5
6
5
  platform: ruby
7
6
  authors:
8
7
  - tily
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2015-03-06 00:00:00.000000000 Z
11
+ date: 2015-03-08 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,113 +27,99 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: thor
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: ace-client
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: ace-client-ext
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - '>='
84
74
  - !ruby/object:Gem::Version
85
75
  version: '0'
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
80
+ - - '>='
92
81
  - !ruby/object:Gem::Version
93
82
  version: '0'
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: builder
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ! '>='
87
+ - - '>='
100
88
  - !ruby/object:Gem::Version
101
89
  version: '0'
102
90
  type: :runtime
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ! '>='
94
+ - - '>='
108
95
  - !ruby/object:Gem::Version
109
96
  version: '0'
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: json
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
- - - ! '>='
101
+ - - '>='
116
102
  - !ruby/object:Gem::Version
117
103
  version: '0'
118
104
  type: :runtime
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
- - - ! '>='
108
+ - - '>='
124
109
  - !ruby/object:Gem::Version
125
110
  version: '0'
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: erubis
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
- - - ! '>='
115
+ - - '>='
132
116
  - !ruby/object:Gem::Version
133
117
  version: '0'
134
118
  type: :runtime
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
- - - ! '>='
122
+ - - '>='
140
123
  - !ruby/object:Gem::Version
141
124
  version: '0'
142
125
  description: command to collect hosts info
@@ -156,32 +139,32 @@ files:
156
139
  - lib/nchosts.rb
157
140
  - lib/nchosts/command.rb
158
141
  - lib/nchosts/templates/aliases.erb
142
+ - lib/nchosts/templates/hosts.erb
159
143
  - lib/nchosts/templates/ssh_config.erb
160
144
  - lib/nchosts/version.rb
161
145
  - nchosts.gemspec
162
146
  homepage: ''
163
147
  licenses:
164
148
  - MIT
149
+ metadata: {}
165
150
  post_install_message:
166
151
  rdoc_options: []
167
152
  require_paths:
168
153
  - lib
169
154
  required_ruby_version: !ruby/object:Gem::Requirement
170
- none: false
171
155
  requirements:
172
- - - ! '>='
156
+ - - '>='
173
157
  - !ruby/object:Gem::Version
174
158
  version: '0'
175
159
  required_rubygems_version: !ruby/object:Gem::Requirement
176
- none: false
177
160
  requirements:
178
- - - ! '>='
161
+ - - '>='
179
162
  - !ruby/object:Gem::Version
180
163
  version: '0'
181
164
  requirements: []
182
165
  rubyforge_project:
183
- rubygems_version: 1.8.24
166
+ rubygems_version: 2.3.0
184
167
  signing_key:
185
- specification_version: 3
168
+ specification_version: 4
186
169
  summary: command to collect hosts info
187
170
  test_files: []