lono-cfn 0.0.5 → 0.0.6
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 +4 -4
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +27 -24
- data/lib/lono-cfn.rb +2 -0
- data/lib/lono_cfn/aws_services.rb +9 -0
- data/lib/lono_cfn/base.rb +8 -6
- data/lib/lono_cfn/cli.rb +6 -0
- data/lib/lono_cfn/cli/help.rb +10 -0
- data/lib/lono_cfn/delete.rb +21 -0
- data/lib/lono_cfn/version.rb +1 -1
- data/lono_cfn.gemspec +1 -0
- data/spec/lib/cli_spec.rb +5 -0
- data/spec/spec_helper.rb +1 -1
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 15502b5cd0ce076c8866ee2495d2d23e8e856b4d
|
4
|
+
data.tar.gz: '0715039ad6cceb813f049b22a15de5056fa81e42'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 82482c93760d52309c2f50933eb6f22af933ff0eb5e8d7260d14fbcdb88b1961518eafa41219b56df823f532749ee3e5db0500c0851f7c72132655dbadfaaff8
|
7
|
+
data.tar.gz: fff6fd771a4346cd9e22bbf1cc4910f8f2bd5b28dd54281c0b32bcdc931183ea5becc51e24b6e8d96d182a55d6c10e03a795a04b3e245f9880ea8d9014140d61
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,10 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
This project *tries* to adhere to [Semantic Versioning](http://semver.org/), even before v1.0.
|
5
5
|
|
6
|
+
## [0.0.6] add delete stack command
|
7
|
+
|
8
|
+
- add delete stack command
|
9
|
+
|
6
10
|
## [0.0.5] nicer error message
|
7
11
|
|
8
12
|
- nicer error message when theres no stack update to be perform
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
lono-cfn (0.0.
|
4
|
+
lono-cfn (0.0.6)
|
5
5
|
aws-sdk
|
6
6
|
colorize
|
7
7
|
hashie
|
@@ -12,22 +12,24 @@ PATH
|
|
12
12
|
GEM
|
13
13
|
remote: https://rubygems.org/
|
14
14
|
specs:
|
15
|
-
activemodel (4.
|
16
|
-
activesupport (= 4.
|
17
|
-
builder (~> 3.1
|
18
|
-
activesupport (4.
|
19
|
-
i18n (~> 0.
|
20
|
-
minitest (~>
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
15
|
+
activemodel (4.2.8)
|
16
|
+
activesupport (= 4.2.8)
|
17
|
+
builder (~> 3.1)
|
18
|
+
activesupport (4.2.8)
|
19
|
+
i18n (~> 0.7)
|
20
|
+
minitest (~> 5.1)
|
21
|
+
thread_safe (~> 0.3, >= 0.3.4)
|
22
|
+
tzinfo (~> 1.1)
|
23
|
+
aws-sdk (2.9.11)
|
24
|
+
aws-sdk-resources (= 2.9.11)
|
25
|
+
aws-sdk-core (2.9.11)
|
26
|
+
aws-sigv4 (~> 1.0)
|
27
27
|
jmespath (~> 1.0)
|
28
|
-
aws-sdk-resources (2.
|
29
|
-
aws-sdk-core (= 2.
|
30
|
-
|
28
|
+
aws-sdk-resources (2.9.11)
|
29
|
+
aws-sdk-core (= 2.9.11)
|
30
|
+
aws-sigv4 (1.0.0)
|
31
|
+
builder (3.2.3)
|
32
|
+
byebug (9.0.6)
|
31
33
|
codeclimate-test-reporter (0.6.0)
|
32
34
|
simplecov (>= 0.7.1, < 1.0.0)
|
33
35
|
coderay (1.1.1)
|
@@ -60,8 +62,8 @@ GEM
|
|
60
62
|
guard (~> 2.1)
|
61
63
|
guard-compat (~> 1.1)
|
62
64
|
rspec (>= 2.99.0, < 4.0)
|
63
|
-
hashie (3.
|
64
|
-
i18n (0.
|
65
|
+
hashie (3.5.5)
|
66
|
+
i18n (0.8.1)
|
65
67
|
jmespath (1.3.1)
|
66
68
|
json (2.0.2)
|
67
69
|
listen (3.1.5)
|
@@ -84,13 +86,12 @@ GEM
|
|
84
86
|
thor
|
85
87
|
lumberjack (1.0.10)
|
86
88
|
method_source (0.8.2)
|
87
|
-
minitest (
|
88
|
-
multi_json (1.12.1)
|
89
|
+
minitest (5.10.1)
|
89
90
|
nenv (0.3.0)
|
90
91
|
notiffany (0.1.1)
|
91
92
|
nenv (~> 0.1)
|
92
93
|
shellany (~> 0.0)
|
93
|
-
plissken (0.
|
94
|
+
plissken (0.3.0)
|
94
95
|
symbolize (~> 4.2)
|
95
96
|
pry (0.10.4)
|
96
97
|
coderay (~> 1.1.0)
|
@@ -126,14 +127,16 @@ GEM
|
|
126
127
|
activesupport (>= 3.2, < 5)
|
127
128
|
i18n
|
128
129
|
thor (0.19.1)
|
129
|
-
thread_safe (0.3.
|
130
|
-
tzinfo (
|
130
|
+
thread_safe (0.3.6)
|
131
|
+
tzinfo (1.2.3)
|
132
|
+
thread_safe (~> 0.1)
|
131
133
|
|
132
134
|
PLATFORMS
|
133
135
|
ruby
|
134
136
|
|
135
137
|
DEPENDENCIES
|
136
138
|
bundler (~> 1.3)
|
139
|
+
byebug
|
137
140
|
codeclimate-test-reporter
|
138
141
|
guard
|
139
142
|
guard-bundler
|
@@ -142,4 +145,4 @@ DEPENDENCIES
|
|
142
145
|
rake
|
143
146
|
|
144
147
|
BUNDLED WITH
|
145
|
-
1.
|
148
|
+
1.14.6
|
data/lib/lono-cfn.rb
CHANGED
@@ -3,8 +3,10 @@ require "lono_cfn/version"
|
|
3
3
|
require "pp"
|
4
4
|
|
5
5
|
module LonoCfn
|
6
|
+
autoload :AwsServices, 'lono_cfn/aws_services'
|
6
7
|
autoload :CLI, 'lono_cfn/cli'
|
7
8
|
autoload :Base, 'lono_cfn/base'
|
8
9
|
autoload :Create, 'lono_cfn/create'
|
9
10
|
autoload :Update, 'lono_cfn/update'
|
11
|
+
autoload :Delete, 'lono_cfn/delete'
|
10
12
|
end
|
data/lib/lono_cfn/base.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
require "lono"
|
2
2
|
require "lono-params"
|
3
|
-
require "aws-sdk"
|
4
3
|
|
5
4
|
module LonoCfn
|
6
5
|
class Base
|
6
|
+
include AwsServices
|
7
|
+
|
7
8
|
def initialize(stack_name, options={})
|
8
9
|
@stack_name = stack_name
|
9
10
|
@options = options
|
@@ -40,10 +41,6 @@ module LonoCfn
|
|
40
41
|
generator.params # Returns Array in underscore keys format
|
41
42
|
end
|
42
43
|
|
43
|
-
def cfn
|
44
|
-
@cfn ||= Aws::CloudFormation::Client.new
|
45
|
-
end
|
46
|
-
|
47
44
|
def check_for_errors
|
48
45
|
errors = check_files
|
49
46
|
unless errors.empty?
|
@@ -65,7 +62,8 @@ module LonoCfn
|
|
65
62
|
end
|
66
63
|
|
67
64
|
def stack_exists?
|
68
|
-
return if
|
65
|
+
return true if testing_update?
|
66
|
+
return false if @options[:noop]
|
69
67
|
|
70
68
|
exist = true
|
71
69
|
begin
|
@@ -104,5 +102,9 @@ module LonoCfn
|
|
104
102
|
raise "hell: dont come here"
|
105
103
|
end
|
106
104
|
end
|
105
|
+
|
106
|
+
def testing_update?
|
107
|
+
ENV['TEST'] && self.class.name == "LonoCfn::Update"
|
108
|
+
end
|
107
109
|
end
|
108
110
|
end
|
data/lib/lono_cfn/cli.rb
CHANGED
data/lib/lono_cfn/cli/help.rb
CHANGED
@@ -53,6 +53,16 @@ $ lono-cfn update my-stack --template different-name3 --params different-name4
|
|
53
53
|
|
54
54
|
The template that will be use is output/different-name3.json and the parameters will use params/different-name4.json.
|
55
55
|
|
56
|
+
EOL
|
57
|
+
end
|
58
|
+
|
59
|
+
def delete
|
60
|
+
<<-EOL
|
61
|
+
Examples:
|
62
|
+
|
63
|
+
$ lono-cfn delete my-stack
|
64
|
+
|
65
|
+
The above command will delete my-stack.
|
56
66
|
EOL
|
57
67
|
end
|
58
68
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module LonoCfn
|
2
|
+
class Delete
|
3
|
+
include AwsServices
|
4
|
+
|
5
|
+
def initialize(stack_name, options={})
|
6
|
+
@stack_name = stack_name
|
7
|
+
@options = options
|
8
|
+
@project_root = options[:project_root] || '.'
|
9
|
+
end
|
10
|
+
|
11
|
+
def run
|
12
|
+
message = "Deleted #{@stack_name}."
|
13
|
+
if @options[:noop]
|
14
|
+
message = "NOOP #{message}"
|
15
|
+
else
|
16
|
+
cfn.delete_stack(stack_name: @stack_name)
|
17
|
+
end
|
18
|
+
puts message
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/lono_cfn/version.rb
CHANGED
data/lono_cfn.gemspec
CHANGED
data/spec/lib/cli_spec.rb
CHANGED
@@ -20,5 +20,10 @@ describe LonoCfn::CLI do
|
|
20
20
|
out = execute("bin/lono-cfn update my-stack #{@args}")
|
21
21
|
expect(out).to include("stack updating.")
|
22
22
|
end
|
23
|
+
|
24
|
+
it "deletes stack" do
|
25
|
+
out = execute("bin/lono-cfn delete my-stack #{@args}")
|
26
|
+
expect(out).to include("Deleted")
|
27
|
+
end
|
23
28
|
end
|
24
29
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lono-cfn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tung Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-04-
|
11
|
+
date: 2017-04-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -164,6 +164,20 @@ dependencies:
|
|
164
164
|
- - ">="
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: byebug
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
167
181
|
description: Wrapper cfn tool to quickly create CloudFormation stacks from lono templates
|
168
182
|
and params files
|
169
183
|
email:
|
@@ -184,10 +198,12 @@ files:
|
|
184
198
|
- Rakefile
|
185
199
|
- bin/lono-cfn
|
186
200
|
- lib/lono-cfn.rb
|
201
|
+
- lib/lono_cfn/aws_services.rb
|
187
202
|
- lib/lono_cfn/base.rb
|
188
203
|
- lib/lono_cfn/cli.rb
|
189
204
|
- lib/lono_cfn/cli/help.rb
|
190
205
|
- lib/lono_cfn/create.rb
|
206
|
+
- lib/lono_cfn/delete.rb
|
191
207
|
- lib/lono_cfn/update.rb
|
192
208
|
- lib/lono_cfn/version.rb
|
193
209
|
- lono_cfn.gemspec
|