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 +4 -4
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/Gemfile +2 -2
- data/Gemfile.lock +120 -59
- data/Rakefile +4 -4
- data/VERSION +1 -1
- data/hashicorptools.gemspec +96 -55
- data/lib/hashicorptools/packer.rb +35 -2
- data/lib/hashicorptools/terraform.rb +16 -2
- data/lib/hashicorptools/variables.rb +8 -2
- data/spec/hashicorptools_spec.rb +1 -0
- metadata +194 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e997046905e7f5ff9d2f068d1447834f488867ad
|
4
|
+
data.tar.gz: 2337b65ce059f69d4e8a00712210cbe8d6a52b38
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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"
|
18
|
+
gem "rspec"
|
19
19
|
gem "rdoc", "~> 3.12"
|
20
20
|
gem "bundler", "~> 1.0"
|
21
|
-
gem "
|
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 (
|
5
|
-
i18n (~> 0.
|
6
|
-
|
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.
|
12
|
-
aws-sdk-resources (= 2.
|
13
|
-
aws-sdk-core (2.
|
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.
|
16
|
-
aws-sdk-core (= 2.
|
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.
|
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.
|
70
|
+
diff-lcs (1.2.5)
|
25
71
|
docile (1.1.5)
|
26
|
-
domain_name (0.5.
|
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.
|
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.
|
86
|
+
oauth2 (~> 1.0)
|
87
|
+
hashie (3.4.6)
|
41
88
|
highline (1.7.8)
|
42
|
-
http-cookie (1.0.
|
89
|
+
http-cookie (1.0.3)
|
43
90
|
domain_name (~> 0.5)
|
44
91
|
i18n (0.7.0)
|
45
|
-
|
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
|
-
|
58
|
-
|
59
|
-
|
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
|
-
|
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
|
-
|
69
|
-
oauth2 (1.1.0)
|
110
|
+
oauth2 (1.2.0)
|
70
111
|
faraday (>= 0.8, < 0.10)
|
71
|
-
jwt (~> 1.0
|
112
|
+
jwt (~> 1.0)
|
72
113
|
multi_json (~> 1.3)
|
73
114
|
multi_xml (~> 0.5)
|
74
115
|
rack (>= 1.2, < 3)
|
75
|
-
|
76
|
-
rack (
|
77
|
-
rake (11.
|
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
|
-
|
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, <
|
83
|
-
netrc (~> 0.
|
84
|
-
|
85
|
-
|
86
|
-
rspec-
|
87
|
-
rspec-
|
88
|
-
|
89
|
-
rspec-
|
90
|
-
|
91
|
-
rspec-
|
92
|
-
|
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 (
|
149
|
+
json (>= 1.8, < 3)
|
95
150
|
simplecov-html (~> 0.10.0)
|
96
151
|
simplecov-html (0.10.0)
|
97
|
-
|
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
|
-
|
100
|
-
|
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
|
-
|
178
|
+
juwelier!
|
118
179
|
rdoc (~> 3.12)
|
119
|
-
rspec
|
180
|
+
rspec
|
120
181
|
simplecov
|
121
182
|
thor
|
122
183
|
|
123
184
|
BUNDLED WITH
|
124
|
-
1.
|
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 '
|
15
|
-
|
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
|
-
|
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.
|
1
|
+
0.0.12
|
data/hashicorptools.gemspec
CHANGED
@@ -1,25 +1,27 @@
|
|
1
|
-
# Generated by
|
1
|
+
# Generated by juwelier
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit
|
3
|
+
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: hashicorptools 0.0.
|
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.
|
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-
|
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.
|
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
|
55
|
-
s.add_runtime_dependency(%q<dynect_rest
|
56
|
-
s.add_runtime_dependency(%q<aws-sdk-v1
|
57
|
-
s.add_runtime_dependency(%q<dotenv
|
58
|
-
s.add_runtime_dependency(%q<thor
|
59
|
-
s.add_runtime_dependency(%q<activesupport
|
60
|
-
s.add_runtime_dependency(%q<byebug
|
61
|
-
s.add_runtime_dependency(%q<git
|
62
|
-
s.
|
63
|
-
s.
|
64
|
-
s.
|
65
|
-
s.
|
66
|
-
s.
|
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
|
69
|
-
s.add_dependency(%q<dynect_rest
|
70
|
-
s.add_dependency(%q<aws-sdk-v1
|
71
|
-
s.add_dependency(%q<dotenv
|
72
|
-
s.add_dependency(%q<thor
|
73
|
-
s.add_dependency(%q<activesupport
|
74
|
-
s.add_dependency(%q<byebug
|
75
|
-
s.add_dependency(%q<git
|
76
|
-
s.add_dependency(%q<rspec
|
77
|
-
s.add_dependency(%q<rdoc
|
78
|
-
s.add_dependency(%q<bundler
|
79
|
-
s.add_dependency(%q<
|
80
|
-
s.add_dependency(%q<simplecov
|
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
|
84
|
-
s.add_dependency(%q<dynect_rest
|
85
|
-
s.add_dependency(%q<aws-sdk-v1
|
86
|
-
s.add_dependency(%q<dotenv
|
87
|
-
s.add_dependency(%q<thor
|
88
|
-
s.add_dependency(%q<activesupport
|
89
|
-
s.add_dependency(%q<byebug
|
90
|
-
s.add_dependency(%q<git
|
91
|
-
s.add_dependency(%q<rspec
|
92
|
-
s.add_dependency(%q<rdoc
|
93
|
-
s.add_dependency(%q<bundler
|
94
|
-
s.add_dependency(%q<
|
95
|
-
s.add_dependency(%q<simplecov
|
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
|
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 "
|
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|
|
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
|
data/spec/hashicorptools_spec.rb
CHANGED
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.
|
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-
|
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:
|
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
|
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:
|
350
|
+
name: juwelier
|
169
351
|
requirement: !ruby/object:Gem::Requirement
|
170
352
|
requirements:
|
171
|
-
- - "
|
353
|
+
- - ">="
|
172
354
|
- !ruby/object:Gem::Version
|
173
|
-
version:
|
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:
|
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.
|
429
|
+
rubygems_version: 2.6.8
|
246
430
|
signing_key:
|
247
431
|
specification_version: 4
|
248
432
|
summary: Wrappers for terraform and packer
|