ftl 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
data/Changelog CHANGED
@@ -1,4 +1,9 @@
1
- Release Version 0.2.1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1
+ Release Version 0.2.2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2
+
3
+ * Add ftl status
4
+ * find_instances returns exact match preferentially
5
+
6
+ Release Version 0.2.2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2
7
 
3
8
  * Adds templates feature to config file
4
9
  * Start and cancel spot requests
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ftl (0.2.2)
4
+ ftl (0.2.3)
5
5
  fog
6
6
  formatador (~> 0.2.2)
7
7
 
data/README.md CHANGED
@@ -47,4 +47,8 @@ Install is easy.
47
47
  4. Push to the branch (`git push origin my-new-feature`)
48
48
  5. Create new Pull Request
49
49
 
50
- © 2012 Matthew Petty Twitter:@mattpetty Github:@lodestone Email:lodestone@gmail.com
50
+ © 2012 Matthew Petty
51
+
52
+ * Twitter: [@mattpetty](http://twitter.com/mattpetty)
53
+ * Github: [@lodestone](http://github.com/lodestone)
54
+ * Email: [lodestone@gmail.com](mailto:lodestone@gmail.com)
data/TODO.md CHANGED
@@ -1,19 +1,8 @@
1
1
  # TODO
2
2
 
3
- * Enable launching of spot instances
4
- * ftl edit should edit ~/.ftl/ftl.yml with $EDITOR
5
- * Allow multiple named launch templates
6
3
  * ftl status <instance>
7
4
  * Tests
8
5
 
9
- ### Example of named templates:
10
6
 
11
- :templates:
12
- :ninja:
13
- :username: ninja
14
- :ami: ami-123456
15
- :samurai:
16
- :username: samurai
17
- :ami: ami-456789
18
7
 
19
8
 
@@ -61,7 +61,7 @@ module Ftl
61
61
  :availability_zone => opts[:availability_zone],
62
62
  :flavor_id => opts[:instance_type],
63
63
  :username => opts[:username],
64
- :tags => opts[:tags] + [args.first]
64
+ :tags => opts[:tags].merge(:Name => args.first)
65
65
  )
66
66
  display server
67
67
  eval(options[:post_script]) if options[:post_script]
@@ -123,6 +123,11 @@ module Ftl
123
123
  alias :x :connect
124
124
  alias :ssh :connect
125
125
 
126
+ def status(args={})
127
+ server = find_instance(args.first)
128
+ display server
129
+ end
130
+
126
131
  def start(args={})
127
132
  display "Starting stopped instances is not implemented yet. Stay tuned true believers."
128
133
  end
@@ -184,6 +189,9 @@ module Ftl
184
189
  `$EDITOR ~/.ftl/ftl.yml`
185
190
  end
186
191
 
192
+
193
+ ###########################################################################
194
+ ## private ###
187
195
  ###########################################################################
188
196
  private
189
197
 
@@ -220,8 +228,9 @@ module Ftl
220
228
 
221
229
  def find_instances(name)
222
230
  id_match = server_instances.select{|i| i[:id] == name } if name[/^i-/]
231
+ exact_tag_match = server_instances.select{|i| !i.tags.nil? && i.tags['Name'] && i.tags['Name'] == name }
223
232
  tag_match = server_instances.select{|i| !i.tags.nil? && i.tags['Name'] && i.tags['Name'][name] }
224
- id_match || tag_match
233
+ id_match || exact_tag_match || tag_match
225
234
  end
226
235
 
227
236
  def _headers_for(object)
@@ -1,3 +1,3 @@
1
1
  module Ftl
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
@@ -7,6 +7,7 @@ SECRET_ACCESS_KEY:
7
7
  #!/bin/sh
8
8
  touch /root/file.touched
9
9
  :spinup_script: |
10
+ :tags: {}
10
11
 
11
12
  :templates:
12
13
  :default:
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ftl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-05-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rdoc
16
- requirement: &70185339927300 !ruby/object:Gem::Requirement
16
+ requirement: &70186162145440 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70185339927300
24
+ version_requirements: *70186162145440
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: aruba
27
- requirement: &70185339925300 !ruby/object:Gem::Requirement
27
+ requirement: &70186162190980 !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: :development
34
34
  prerelease: false
35
- version_requirements: *70185339925300
35
+ version_requirements: *70186162190980
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &70185339924600 !ruby/object:Gem::Requirement
38
+ requirement: &70186162190220 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 0.9.2
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70185339924600
46
+ version_requirements: *70186162190220
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: fog
49
- requirement: &70185339923960 !ruby/object:Gem::Requirement
49
+ requirement: &70186162189420 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70185339923960
57
+ version_requirements: *70186162189420
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: formatador
60
- requirement: &70185339923280 !ruby/object:Gem::Requirement
60
+ requirement: &70186162188520 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: 0.2.2
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70185339923280
68
+ version_requirements: *70186162188520
69
69
  description: Ftl is a command line tool for Fog/AWS
70
70
  email:
71
71
  - matt@kizmeta.com
@@ -110,7 +110,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
110
110
  version: '0'
111
111
  segments:
112
112
  - 0
113
- hash: 3178890883638753060
113
+ hash: 1941961806599830985
114
114
  required_rubygems_version: !ruby/object:Gem::Requirement
115
115
  none: false
116
116
  requirements:
@@ -119,7 +119,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
119
119
  version: '0'
120
120
  segments:
121
121
  - 0
122
- hash: 3178890883638753060
122
+ hash: 1941961806599830985
123
123
  requirements: []
124
124
  rubyforge_project:
125
125
  rubygems_version: 1.8.11