hashicorptools 0.0.7 → 0.0.12

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.
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