hashicorptools 0.0.7 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d826c8e7a72e6a5229d4b7650689ea65b751319a
4
- data.tar.gz: b28dba48ac700d728f46dda423e4342707564cc6
3
+ metadata.gz: e997046905e7f5ff9d2f068d1447834f488867ad
4
+ data.tar.gz: 2337b65ce059f69d4e8a00712210cbe8d6a52b38
5
5
  SHA512:
6
- metadata.gz: de41ed4cbae046e4a308553be81156a095a70c39a243b0f5c6c554180e3922917740b4b62b0fec5adbf9207348fb727d31ccd78fcf46a052eb1eb7a4b153b35d
7
- data.tar.gz: 937d599532610b2870238e9529fc213690ffd76497def92dcbd1da25e8b0557828cca3a6ca927723c0614cb891bb99d2222302e16e8ab170d4cd4df91ef2cd41
6
+ metadata.gz: a9879db2aa89689f994dfbecb5bc93d40481bd54de26aa99798fae4563b7878db2cec8064eacc70c9781de66bf5c59fe56c5538dfabdc59eb5b0a15d6b5d63ed
7
+ data.tar.gz: 818bc8fb19ef7cad3e64e6a6bdfd2a79d9a106a5a13490057b10025b7728f85b5882789ef9d413220048ffc81dcb66b8d8db65966af2447af9eb3d2b8fc2d34f
data/.ruby-gemset ADDED
@@ -0,0 +1 @@
1
+ hashicorptools
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ ruby-2.2.5
data/Gemfile CHANGED
@@ -15,9 +15,9 @@ gem 'git'
15
15
  # Add dependencies to develop your gem here.
16
16
  # Include everything needed to run rake, tests, features, etc.
17
17
  group :development do
18
- gem "rspec", "~> 2.8.0"
18
+ gem "rspec"
19
19
  gem "rdoc", "~> 3.12"
20
20
  gem "bundler", "~> 1.0"
21
- gem "jeweler", "~> 2.0.1"
21
+ gem "juwelier", git: 'https://github.com/controlshift/juwelier.git'
22
22
  gem "simplecov", ">= 0"
23
23
  end
data/Gemfile.lock CHANGED
@@ -1,106 +1,167 @@
1
+ GIT
2
+ remote: https://github.com/controlshift/juwelier.git
3
+ revision: 35eb60a50ab62b97472671a9bda5c26d91010ec4
4
+ specs:
5
+ juwelier (2.1.2)
6
+ activesupport (~> 3.2.16)
7
+ bluecloth
8
+ builder
9
+ bundler (>= 1.13)
10
+ coveralls
11
+ cucumber (>= 1.1.4)
12
+ git (>= 1.2.5)
13
+ github_api
14
+ highline (>= 1.6.15)
15
+ mhennemeyer-output_catcher
16
+ mocha
17
+ nokogiri (>= 1.5.10)
18
+ rake
19
+ rdoc
20
+ redgreen
21
+ rr (>= 1.0.4)
22
+ semver
23
+ shoulda
24
+ simplecov
25
+ test-construct
26
+ test-unit
27
+ timecop
28
+ yard (>= 0.8.5)
29
+
1
30
  GEM
2
31
  remote: http://rubygems.org/
3
32
  specs:
4
- activesupport (4.2.6)
5
- i18n (~> 0.7)
6
- json (~> 1.7, >= 1.7.7)
7
- minitest (~> 5.1)
8
- thread_safe (~> 0.3, >= 0.3.4)
9
- tzinfo (~> 1.1)
33
+ activesupport (3.2.22.5)
34
+ i18n (~> 0.6, >= 0.6.4)
35
+ multi_json (~> 1.0)
10
36
  addressable (2.4.0)
11
- aws-sdk (2.3.13)
12
- aws-sdk-resources (= 2.3.13)
13
- aws-sdk-core (2.3.13)
37
+ aws-sdk (2.6.30)
38
+ aws-sdk-resources (= 2.6.30)
39
+ aws-sdk-core (2.6.30)
40
+ aws-sigv4 (~> 1.0)
14
41
  jmespath (~> 1.0)
15
- aws-sdk-resources (2.3.13)
16
- aws-sdk-core (= 2.3.13)
42
+ aws-sdk-resources (2.6.30)
43
+ aws-sdk-core (= 2.6.30)
17
44
  aws-sdk-v1 (1.66.0)
18
45
  json (~> 1.4)
19
46
  nokogiri (>= 1.4.4)
47
+ aws-sigv4 (1.0.0)
48
+ bluecloth (2.2.0)
20
49
  builder (3.2.2)
21
- byebug (9.0.5)
50
+ byebug (9.0.6)
51
+ coveralls (0.8.16)
52
+ json (>= 1.8, < 3)
53
+ simplecov (~> 0.12.0)
54
+ term-ansicolor (~> 1.3.0)
55
+ thor (~> 0.19.1)
56
+ tins (>= 1.6.0, < 2)
57
+ cucumber (2.4.0)
58
+ builder (>= 2.1.2)
59
+ cucumber-core (~> 1.5.0)
60
+ cucumber-wire (~> 0.0.1)
61
+ diff-lcs (>= 1.1.3)
62
+ gherkin (~> 4.0)
63
+ multi_json (>= 1.7.5, < 2.0)
64
+ multi_test (>= 0.1.2)
65
+ cucumber-core (1.5.0)
66
+ gherkin (~> 4.0)
67
+ cucumber-wire (0.0.1)
22
68
  descendants_tracker (0.0.4)
23
69
  thread_safe (~> 0.3, >= 0.3.1)
24
- diff-lcs (1.1.3)
70
+ diff-lcs (1.2.5)
25
71
  docile (1.1.5)
26
- domain_name (0.5.20160310)
72
+ domain_name (0.5.20161129)
27
73
  unf (>= 0.0.5, < 1.0.0)
28
74
  dotenv (2.1.1)
29
75
  dynect_rest (0.4.6)
30
76
  rest-client
31
77
  faraday (0.9.2)
32
78
  multipart-post (>= 1.2, < 3)
79
+ gherkin (4.0.0)
33
80
  git (1.3.0)
34
- github_api (0.14.0)
81
+ github_api (0.14.5)
35
82
  addressable (~> 2.4.0)
36
83
  descendants_tracker (~> 0.0.4)
37
84
  faraday (~> 0.8, < 0.10)
38
85
  hashie (>= 3.4)
39
- oauth2
40
- hashie (3.4.4)
86
+ oauth2 (~> 1.0)
87
+ hashie (3.4.6)
41
88
  highline (1.7.8)
42
- http-cookie (1.0.2)
89
+ http-cookie (1.0.3)
43
90
  domain_name (~> 0.5)
44
91
  i18n (0.7.0)
45
- jeweler (2.0.1)
46
- builder
47
- bundler (>= 1.0)
48
- git (>= 1.2.5)
49
- github_api
50
- highline (>= 1.6.15)
51
- nokogiri (>= 1.5.10)
52
- rake
53
- rdoc
54
- jmespath (1.2.4)
55
- json_pure (>= 1.8.1)
92
+ jmespath (1.3.1)
56
93
  json (1.8.3)
57
- json_pure (1.8.3)
58
- jwt (1.5.1)
59
- mime-types (2.99.2)
94
+ jwt (1.5.6)
95
+ metaclass (0.0.4)
96
+ mhennemeyer-output_catcher (1.0.1)
97
+ mime-types (3.1)
98
+ mime-types-data (~> 3.2015)
99
+ mime-types-data (3.2016.0521)
60
100
  mini_portile2 (2.1.0)
61
- minitest (5.9.0)
101
+ mocha (1.2.1)
102
+ metaclass (~> 0.0.1)
62
103
  multi_json (1.12.1)
104
+ multi_test (0.1.2)
63
105
  multi_xml (0.5.5)
64
106
  multipart-post (2.0.0)
65
107
  netrc (0.11.0)
66
- nokogiri (1.6.8)
108
+ nokogiri (1.6.8.1)
67
109
  mini_portile2 (~> 2.1.0)
68
- pkg-config (~> 1.1.7)
69
- oauth2 (1.1.0)
110
+ oauth2 (1.2.0)
70
111
  faraday (>= 0.8, < 0.10)
71
- jwt (~> 1.0, < 1.5.2)
112
+ jwt (~> 1.0)
72
113
  multi_json (~> 1.3)
73
114
  multi_xml (~> 0.5)
74
115
  rack (>= 1.2, < 3)
75
- pkg-config (1.1.7)
76
- rack (1.6.4)
77
- rake (11.1.2)
116
+ power_assert (0.4.1)
117
+ rack (2.0.1)
118
+ rake (11.3.0)
78
119
  rdoc (3.12.2)
79
120
  json (~> 1.4)
80
- rest-client (1.8.0)
121
+ redgreen (1.2.2)
122
+ rest-client (2.0.0)
81
123
  http-cookie (>= 1.0.2, < 2.0)
82
- mime-types (>= 1.16, < 3.0)
83
- netrc (~> 0.7)
84
- rspec (2.8.0)
85
- rspec-core (~> 2.8.0)
86
- rspec-expectations (~> 2.8.0)
87
- rspec-mocks (~> 2.8.0)
88
- rspec-core (2.8.0)
89
- rspec-expectations (2.8.0)
90
- diff-lcs (~> 1.1.2)
91
- rspec-mocks (2.8.0)
92
- simplecov (0.11.2)
124
+ mime-types (>= 1.16, < 4.0)
125
+ netrc (~> 0.8)
126
+ rr (1.2.0)
127
+ rspec (3.5.0)
128
+ rspec-core (~> 3.5.0)
129
+ rspec-expectations (~> 3.5.0)
130
+ rspec-mocks (~> 3.5.0)
131
+ rspec-core (3.5.4)
132
+ rspec-support (~> 3.5.0)
133
+ rspec-expectations (3.5.0)
134
+ diff-lcs (>= 1.2.0, < 2.0)
135
+ rspec-support (~> 3.5.0)
136
+ rspec-mocks (3.5.0)
137
+ diff-lcs (>= 1.2.0, < 2.0)
138
+ rspec-support (~> 3.5.0)
139
+ rspec-support (3.5.0)
140
+ semver (1.0.1)
141
+ shoulda (3.5.0)
142
+ shoulda-context (~> 1.0, >= 1.0.1)
143
+ shoulda-matchers (>= 1.4.1, < 3.0)
144
+ shoulda-context (1.2.2)
145
+ shoulda-matchers (2.8.0)
146
+ activesupport (>= 3.0.0)
147
+ simplecov (0.12.0)
93
148
  docile (~> 1.1.0)
94
- json (~> 1.8)
149
+ json (>= 1.8, < 3)
95
150
  simplecov-html (~> 0.10.0)
96
151
  simplecov-html (0.10.0)
97
- thor (0.19.1)
152
+ term-ansicolor (1.3.2)
153
+ tins (~> 1.0)
154
+ test-construct (1.2.2)
155
+ test-unit (3.2.3)
156
+ power_assert
157
+ thor (0.19.4)
98
158
  thread_safe (0.3.5)
99
- tzinfo (1.2.2)
100
- thread_safe (~> 0.1)
159
+ timecop (0.8.1)
160
+ tins (1.13.0)
101
161
  unf (0.1.4)
102
162
  unf_ext
103
163
  unf_ext (0.0.7.2)
164
+ yard (0.9.5)
104
165
 
105
166
  PLATFORMS
106
167
  ruby
@@ -114,11 +175,11 @@ DEPENDENCIES
114
175
  dotenv
115
176
  dynect_rest
116
177
  git
117
- jeweler (~> 2.0.1)
178
+ juwelier!
118
179
  rdoc (~> 3.12)
119
- rspec (~> 2.8.0)
180
+ rspec
120
181
  simplecov
121
182
  thor
122
183
 
123
184
  BUNDLED WITH
124
- 1.12.5
185
+ 1.13.6
data/Rakefile CHANGED
@@ -11,8 +11,8 @@ rescue Bundler::BundlerError => e
11
11
  end
12
12
  require 'rake'
13
13
 
14
- require 'jeweler'
15
- Jeweler::Tasks.new do |gem|
14
+ require 'juwelier'
15
+ Juwelier::Tasks.new do |gem|
16
16
  # gem is a Gem::Specification... see http://guides.rubygems.org/specification-reference/ for more options
17
17
  gem.name = "hashicorptools"
18
18
  gem.homepage = "http://github.com/woodhull/hashicorptools"
@@ -21,10 +21,10 @@ Jeweler::Tasks.new do |gem|
21
21
  gem.description = %Q{Wrappers for terraform and packer}
22
22
  gem.email = "systems@controlshiftlabs.com"
23
23
  gem.authors = ["Nathan Woodhull"]
24
- gem.executables = ['ec2_host']
24
+ gem.executables = ['ec2_host']
25
25
  # dependencies defined in Gemfile
26
26
  end
27
- Jeweler::RubygemsDotOrgTasks.new
27
+ Juwelier::RubygemsDotOrgTasks.new
28
28
 
29
29
  require 'rspec/core'
30
30
  require 'rspec/core/rake_task'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.7
1
+ 0.0.12
@@ -1,25 +1,27 @@
1
- # Generated by jeweler
1
+ # Generated by juwelier
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
3
+ # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: hashicorptools 0.0.7 ruby lib
5
+ # stub: hashicorptools 0.0.12 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
- s.name = "hashicorptools"
9
- s.version = "0.0.7"
8
+ s.name = "hashicorptools".freeze
9
+ s.version = "0.0.12"
10
10
 
11
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
- s.require_paths = ["lib"]
13
- s.authors = ["Nathan Woodhull"]
14
- s.date = "2016-08-22"
15
- s.description = "Wrappers for terraform and packer"
16
- s.email = "systems@controlshiftlabs.com"
17
- s.executables = ["ec2_host"]
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib".freeze]
13
+ s.authors = ["Nathan Woodhull".freeze]
14
+ s.date = "2016-12-02"
15
+ s.description = "Wrappers for terraform and packer".freeze
16
+ s.email = "systems@controlshiftlabs.com".freeze
17
+ s.executables = ["ec2_host".freeze]
18
18
  s.extra_rdoc_files = [
19
19
  "LICENSE",
20
20
  "README.md"
21
21
  ]
22
22
  s.files = [
23
+ ".ruby-gemset",
24
+ ".ruby-version",
23
25
  ".travis.yml",
24
26
  "Gemfile",
25
27
  "Gemfile.lock",
@@ -42,57 +44,96 @@ Gem::Specification.new do |s|
42
44
  "spec/hashicorptools_spec.rb",
43
45
  "spec/spec_helper.rb"
44
46
  ]
45
- s.homepage = "http://github.com/woodhull/hashicorptools"
46
- s.licenses = ["MIT"]
47
- s.rubygems_version = "2.4.8"
48
- s.summary = "Wrappers for terraform and packer"
47
+ s.homepage = "http://github.com/woodhull/hashicorptools".freeze
48
+ s.licenses = ["MIT".freeze]
49
+ s.rubygems_version = "2.6.8".freeze
50
+ s.summary = "Wrappers for terraform and packer".freeze
49
51
 
50
52
  if s.respond_to? :specification_version then
51
53
  s.specification_version = 4
52
54
 
53
55
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
54
- s.add_runtime_dependency(%q<aws-sdk>, ["~> 2"])
55
- s.add_runtime_dependency(%q<dynect_rest>, [">= 0"])
56
- s.add_runtime_dependency(%q<aws-sdk-v1>, [">= 0"])
57
- s.add_runtime_dependency(%q<dotenv>, [">= 0"])
58
- s.add_runtime_dependency(%q<thor>, [">= 0"])
59
- s.add_runtime_dependency(%q<activesupport>, [">= 0"])
60
- s.add_runtime_dependency(%q<byebug>, [">= 0"])
61
- s.add_runtime_dependency(%q<git>, [">= 0"])
62
- s.add_development_dependency(%q<rspec>, ["~> 2.8.0"])
63
- s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
64
- s.add_development_dependency(%q<bundler>, ["~> 1.0"])
65
- s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
66
- s.add_development_dependency(%q<simplecov>, [">= 0"])
56
+ s.add_runtime_dependency(%q<aws-sdk>.freeze, ["~> 2"])
57
+ s.add_runtime_dependency(%q<dynect_rest>.freeze, [">= 0"])
58
+ s.add_runtime_dependency(%q<aws-sdk-v1>.freeze, [">= 0"])
59
+ s.add_runtime_dependency(%q<dotenv>.freeze, [">= 0"])
60
+ s.add_runtime_dependency(%q<thor>.freeze, [">= 0"])
61
+ s.add_runtime_dependency(%q<activesupport>.freeze, [">= 0"])
62
+ s.add_runtime_dependency(%q<byebug>.freeze, [">= 0"])
63
+ s.add_runtime_dependency(%q<git>.freeze, [">= 0"])
64
+ s.add_runtime_dependency(%q<rspec>.freeze, [">= 0"])
65
+ s.add_runtime_dependency(%q<rdoc>.freeze, ["~> 3.12"])
66
+ s.add_runtime_dependency(%q<bundler>.freeze, ["~> 1.0"])
67
+ s.add_runtime_dependency(%q<juwelier>.freeze, [">= 0"])
68
+ s.add_runtime_dependency(%q<simplecov>.freeze, [">= 0"])
69
+ s.add_development_dependency(%q<aws-sdk>.freeze, ["~> 2"])
70
+ s.add_development_dependency(%q<dynect_rest>.freeze, [">= 0"])
71
+ s.add_development_dependency(%q<aws-sdk-v1>.freeze, [">= 0"])
72
+ s.add_development_dependency(%q<dotenv>.freeze, [">= 0"])
73
+ s.add_development_dependency(%q<thor>.freeze, [">= 0"])
74
+ s.add_development_dependency(%q<activesupport>.freeze, [">= 0"])
75
+ s.add_development_dependency(%q<byebug>.freeze, [">= 0"])
76
+ s.add_development_dependency(%q<git>.freeze, [">= 0"])
77
+ s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
78
+ s.add_development_dependency(%q<rdoc>.freeze, ["~> 3.12"])
79
+ s.add_development_dependency(%q<bundler>.freeze, ["~> 1.0"])
80
+ s.add_development_dependency(%q<juwelier>.freeze, [">= 0"])
81
+ s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
67
82
  else
68
- s.add_dependency(%q<aws-sdk>, ["~> 2"])
69
- s.add_dependency(%q<dynect_rest>, [">= 0"])
70
- s.add_dependency(%q<aws-sdk-v1>, [">= 0"])
71
- s.add_dependency(%q<dotenv>, [">= 0"])
72
- s.add_dependency(%q<thor>, [">= 0"])
73
- s.add_dependency(%q<activesupport>, [">= 0"])
74
- s.add_dependency(%q<byebug>, [">= 0"])
75
- s.add_dependency(%q<git>, [">= 0"])
76
- s.add_dependency(%q<rspec>, ["~> 2.8.0"])
77
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
78
- s.add_dependency(%q<bundler>, ["~> 1.0"])
79
- s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
80
- s.add_dependency(%q<simplecov>, [">= 0"])
83
+ s.add_dependency(%q<aws-sdk>.freeze, ["~> 2"])
84
+ s.add_dependency(%q<dynect_rest>.freeze, [">= 0"])
85
+ s.add_dependency(%q<aws-sdk-v1>.freeze, [">= 0"])
86
+ s.add_dependency(%q<dotenv>.freeze, [">= 0"])
87
+ s.add_dependency(%q<thor>.freeze, [">= 0"])
88
+ s.add_dependency(%q<activesupport>.freeze, [">= 0"])
89
+ s.add_dependency(%q<byebug>.freeze, [">= 0"])
90
+ s.add_dependency(%q<git>.freeze, [">= 0"])
91
+ s.add_dependency(%q<rspec>.freeze, [">= 0"])
92
+ s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
93
+ s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
94
+ s.add_dependency(%q<juwelier>.freeze, [">= 0"])
95
+ s.add_dependency(%q<simplecov>.freeze, [">= 0"])
96
+ s.add_dependency(%q<aws-sdk>.freeze, ["~> 2"])
97
+ s.add_dependency(%q<dynect_rest>.freeze, [">= 0"])
98
+ s.add_dependency(%q<aws-sdk-v1>.freeze, [">= 0"])
99
+ s.add_dependency(%q<dotenv>.freeze, [">= 0"])
100
+ s.add_dependency(%q<thor>.freeze, [">= 0"])
101
+ s.add_dependency(%q<activesupport>.freeze, [">= 0"])
102
+ s.add_dependency(%q<byebug>.freeze, [">= 0"])
103
+ s.add_dependency(%q<git>.freeze, [">= 0"])
104
+ s.add_dependency(%q<rspec>.freeze, [">= 0"])
105
+ s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
106
+ s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
107
+ s.add_dependency(%q<juwelier>.freeze, [">= 0"])
108
+ s.add_dependency(%q<simplecov>.freeze, [">= 0"])
81
109
  end
82
110
  else
83
- s.add_dependency(%q<aws-sdk>, ["~> 2"])
84
- s.add_dependency(%q<dynect_rest>, [">= 0"])
85
- s.add_dependency(%q<aws-sdk-v1>, [">= 0"])
86
- s.add_dependency(%q<dotenv>, [">= 0"])
87
- s.add_dependency(%q<thor>, [">= 0"])
88
- s.add_dependency(%q<activesupport>, [">= 0"])
89
- s.add_dependency(%q<byebug>, [">= 0"])
90
- s.add_dependency(%q<git>, [">= 0"])
91
- s.add_dependency(%q<rspec>, ["~> 2.8.0"])
92
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
93
- s.add_dependency(%q<bundler>, ["~> 1.0"])
94
- s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
95
- s.add_dependency(%q<simplecov>, [">= 0"])
111
+ s.add_dependency(%q<aws-sdk>.freeze, ["~> 2"])
112
+ s.add_dependency(%q<dynect_rest>.freeze, [">= 0"])
113
+ s.add_dependency(%q<aws-sdk-v1>.freeze, [">= 0"])
114
+ s.add_dependency(%q<dotenv>.freeze, [">= 0"])
115
+ s.add_dependency(%q<thor>.freeze, [">= 0"])
116
+ s.add_dependency(%q<activesupport>.freeze, [">= 0"])
117
+ s.add_dependency(%q<byebug>.freeze, [">= 0"])
118
+ s.add_dependency(%q<git>.freeze, [">= 0"])
119
+ s.add_dependency(%q<rspec>.freeze, [">= 0"])
120
+ s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
121
+ s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
122
+ s.add_dependency(%q<juwelier>.freeze, [">= 0"])
123
+ s.add_dependency(%q<simplecov>.freeze, [">= 0"])
124
+ s.add_dependency(%q<aws-sdk>.freeze, ["~> 2"])
125
+ s.add_dependency(%q<dynect_rest>.freeze, [">= 0"])
126
+ s.add_dependency(%q<aws-sdk-v1>.freeze, [">= 0"])
127
+ s.add_dependency(%q<dotenv>.freeze, [">= 0"])
128
+ s.add_dependency(%q<thor>.freeze, [">= 0"])
129
+ s.add_dependency(%q<activesupport>.freeze, [">= 0"])
130
+ s.add_dependency(%q<byebug>.freeze, [">= 0"])
131
+ s.add_dependency(%q<git>.freeze, [">= 0"])
132
+ s.add_dependency(%q<rspec>.freeze, [">= 0"])
133
+ s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
134
+ s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
135
+ s.add_dependency(%q<juwelier>.freeze, [">= 0"])
136
+ s.add_dependency(%q<simplecov>.freeze, [">= 0"])
96
137
  end
97
138
  end
98
139
 
@@ -22,7 +22,7 @@ module Hashicorptools
22
22
  byebug
23
23
  end
24
24
 
25
- desc "list", "list all available telize amis"
25
+ desc "list", "list all available amis"
26
26
  def list
27
27
  amis.each do |ami|
28
28
  puts ami.image_id
@@ -34,7 +34,26 @@ module Hashicorptools
34
34
  clean_amis
35
35
  end
36
36
 
37
- desc "boot", "start up an instance of the latest version of AMI"
37
+ desc "clean_snapshots", "clean obsolete EBS snapshots not associated with any AMI"
38
+ def clean_snapshots
39
+ snapshots = ec2.snapshots.with_owner('self')
40
+ snapshots.each do |snapshot|
41
+ match = snapshot.description.match(/Created by CreateImage\(.+\) for (ami-[0-9a-f]+) from vol-.+/)
42
+ if match.nil?
43
+ puts "Skipping #{snapshot.id} - #{snapshot.description}"
44
+ next
45
+ end
46
+
47
+ ami_id = match[1]
48
+ unless ec2.images[ami_id].exists?
49
+ puts "Removing obsolete snapshot #{snapshot.id} - #{snapshot.description}"
50
+ snapshot = AWS::EC2::Snapshot.new(snapshot.id)
51
+ snapshot.delete
52
+ end
53
+ end
54
+ end
55
+
56
+ desc "boot", "start up an instance of the latest version of AMI"
38
57
  def boot
39
58
  run_instances_resp = ec2.run_instances(image_id: current_ami('base-image').image_id,
40
59
  min_count: 1,
@@ -71,6 +90,10 @@ module Hashicorptools
71
90
  current_ami('base-image').image_id
72
91
  end
73
92
 
93
+ def format_variable(key, value)
94
+ "-var '#{key}=#{value}'"
95
+ end
96
+
74
97
  def tag_name
75
98
  raise 'implement me'
76
99
  end
@@ -117,8 +140,10 @@ module Hashicorptools
117
140
 
118
141
  puts "Deregistering old AMIs..."
119
142
  amis_to_remove.each do |ami|
143
+ ebs_mappings = ami.block_device_mappings
120
144
  puts "Deregistering #{ami.image_id}"
121
145
  ami.deregister
146
+ delete_ami_snapshots(ebs_mappings)
122
147
  end
123
148
 
124
149
  puts "Currently active AMIs..."
@@ -129,5 +154,13 @@ module Hashicorptools
129
154
  puts "no AMIs to clean."
130
155
  end
131
156
  end
157
+
158
+ def delete_ami_snapshots(ebs_mappings)
159
+ ebs_mappings.each do |volume, attributes|
160
+ puts "Deleting snapshot #{attributes[:snapshot_id]}"
161
+ snapshot = AWS::EC2::Snapshot.new(attributes[:snapshot_id])
162
+ snapshot.delete
163
+ end
164
+ end
132
165
  end
133
166
  end
@@ -1,6 +1,6 @@
1
1
  module Hashicorptools
2
2
  class Terraform < Thor
3
- TERRAFORM_VERSION = '0.7'
3
+ TERRAFORM_VERSION = '0.7.11'
4
4
 
5
5
  include Ec2Utilities
6
6
  include Variables
@@ -55,9 +55,17 @@ module Hashicorptools
55
55
  end
56
56
 
57
57
  no_commands do
58
+ define_method "before_shared_#{cmd}" do
59
+ # no-op
60
+ end
61
+
58
62
  define_method "after_#{cmd}" do
59
63
  # no-op
60
64
  end
65
+
66
+ define_method "after_shared_#{cmd}" do
67
+ # no-op
68
+ end
61
69
  end
62
70
 
63
71
  desc cmd, "terraform #{cmd} for shared plan"
@@ -66,11 +74,17 @@ module Hashicorptools
66
74
  enforce_version!
67
75
 
68
76
  execute(shared_state_path) do
77
+ send("before_shared_#{cmd}")
78
+
69
79
  terraform_command = "terraform #{cmd} #{variables(env_variable_keys.merge(settings))} -state #{shared_state_path} #{shared_config_directory}"
70
80
  if (options[:debug])
71
81
  puts "[DEBUG] running command: '#{terraform_command}"
72
82
  end
73
- system terraform_command
83
+ result = system terraform_command
84
+
85
+ if result
86
+ send("after_shared_#{cmd}")
87
+ end
74
88
  end
75
89
  end
76
90
  end
@@ -6,7 +6,13 @@ module Hashicorptools
6
6
  end
7
7
 
8
8
  def variables(settings_overrides = {})
9
- aws_credentials_settings(settings_overrides).collect{|key,value| "-var '#{key}=\"#{value}\"'" }.join(' ')
9
+ aws_credentials_settings(settings_overrides).collect{|key,value| format_variable(key, value)}.join(' ')
10
+ end
11
+
12
+ protected
13
+
14
+ def format_variable(key, value)
15
+ "-var '#{key}=\"#{value}\"'"
10
16
  end
11
17
  end
12
- end
18
+ end
@@ -2,6 +2,7 @@ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
 
3
3
  describe "Hashicorptools" do
4
4
  it "fails" do
5
+ pending
5
6
  fail "hey buddy, you should probably rename this file and start specing for real"
6
7
  end
7
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hashicorptools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Woodhull
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-22 00:00:00.000000000 Z
11
+ date: 2016-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk
@@ -125,17 +125,199 @@ dependencies:
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rspec
127
127
  requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rdoc
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '3.12'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '3.12'
153
+ - !ruby/object:Gem::Dependency
154
+ name: bundler
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '1.0'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
128
163
  requirements:
129
164
  - - "~>"
130
165
  - !ruby/object:Gem::Version
131
- version: 2.8.0
166
+ version: '1.0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: juwelier
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: simplecov
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: aws-sdk
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '2'
132
202
  type: :development
133
203
  prerelease: false
134
204
  version_requirements: !ruby/object:Gem::Requirement
135
205
  requirements:
136
206
  - - "~>"
137
207
  - !ruby/object:Gem::Version
138
- version: 2.8.0
208
+ version: '2'
209
+ - !ruby/object:Gem::Dependency
210
+ name: dynect_rest
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: aws-sdk-v1
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: dotenv
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: thor
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
265
+ - !ruby/object:Gem::Dependency
266
+ name: activesupport
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
279
+ - !ruby/object:Gem::Dependency
280
+ name: byebug
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">="
284
+ - !ruby/object:Gem::Version
285
+ version: '0'
286
+ type: :development
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '0'
293
+ - !ruby/object:Gem::Dependency
294
+ name: git
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - ">="
298
+ - !ruby/object:Gem::Version
299
+ version: '0'
300
+ type: :development
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - ">="
305
+ - !ruby/object:Gem::Version
306
+ version: '0'
307
+ - !ruby/object:Gem::Dependency
308
+ name: rspec
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - ">="
312
+ - !ruby/object:Gem::Version
313
+ version: '0'
314
+ type: :development
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - ">="
319
+ - !ruby/object:Gem::Version
320
+ version: '0'
139
321
  - !ruby/object:Gem::Dependency
140
322
  name: rdoc
141
323
  requirement: !ruby/object:Gem::Requirement
@@ -165,19 +347,19 @@ dependencies:
165
347
  - !ruby/object:Gem::Version
166
348
  version: '1.0'
167
349
  - !ruby/object:Gem::Dependency
168
- name: jeweler
350
+ name: juwelier
169
351
  requirement: !ruby/object:Gem::Requirement
170
352
  requirements:
171
- - - "~>"
353
+ - - ">="
172
354
  - !ruby/object:Gem::Version
173
- version: 2.0.1
355
+ version: '0'
174
356
  type: :development
175
357
  prerelease: false
176
358
  version_requirements: !ruby/object:Gem::Requirement
177
359
  requirements:
178
- - - "~>"
360
+ - - ">="
179
361
  - !ruby/object:Gem::Version
180
- version: 2.0.1
362
+ version: '0'
181
363
  - !ruby/object:Gem::Dependency
182
364
  name: simplecov
183
365
  requirement: !ruby/object:Gem::Requirement
@@ -201,6 +383,8 @@ extra_rdoc_files:
201
383
  - LICENSE
202
384
  - README.md
203
385
  files:
386
+ - ".ruby-gemset"
387
+ - ".ruby-version"
204
388
  - ".travis.yml"
205
389
  - Gemfile
206
390
  - Gemfile.lock
@@ -242,7 +426,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
242
426
  version: '0'
243
427
  requirements: []
244
428
  rubyforge_project:
245
- rubygems_version: 2.4.8
429
+ rubygems_version: 2.6.8
246
430
  signing_key:
247
431
  specification_version: 4
248
432
  summary: Wrappers for terraform and packer