stackup 0.6.2 → 0.7.0
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/README.md +18 -0
- data/bin/stackup +4 -1
- data/lib/stackup/rake_tasks.rb +71 -0
- data/lib/stackup/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6ba465cd7978cabe9b222a5053e0dcafbf8334e3
|
4
|
+
data.tar.gz: 731b59587827b376025ad29b769f3495aec6361c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 32fe3ab0b69a2c80a00ef6d41baea6a75732ed0e46ed8fef37c14ac14248d2aa15203309010eb3e262f42ad018aec828ba77abf78ff47a6ae1a662931382ee56
|
7
|
+
data.tar.gz: 5455f7e5e49d56e892fdc3a4964d29b7e0f9715837097a2d7afef165395897532fda6cacbadfe737cc8982eb85a818e3c44661fd619f9a599ed0f550838b748d
|
data/README.md
CHANGED
@@ -72,3 +72,21 @@ to `Stackup`, e.g.
|
|
72
72
|
stack = Stackup(credentials).stack("my-stack")
|
73
73
|
|
74
74
|
See {Stackup::Stack} for more details.
|
75
|
+
|
76
|
+
## Rake integration
|
77
|
+
|
78
|
+
Stackup integrates with Rake to generate handy tasks for managing a stack, e.g.
|
79
|
+
|
80
|
+
require "stackup/rake_tasks"
|
81
|
+
|
82
|
+
Stackup::RakeTasks("app") do |t|
|
83
|
+
t.stack = "my-app"
|
84
|
+
t.template = "app-template.json"
|
85
|
+
end
|
86
|
+
|
87
|
+
providing tasks:
|
88
|
+
|
89
|
+
rake app:diff # Show pending changes to my-app stack
|
90
|
+
rake app:down # Delete my-app stack
|
91
|
+
rake app:inspect # Show my-app stack outputs and resources
|
92
|
+
rake app:up # Update my-app stack
|
data/bin/stackup
CHANGED
@@ -10,6 +10,9 @@ require "stackup"
|
|
10
10
|
require "stackup/version"
|
11
11
|
require "yaml"
|
12
12
|
|
13
|
+
$stdout.sync = true
|
14
|
+
$stderr.sync = true
|
15
|
+
|
13
16
|
Clamp do
|
14
17
|
|
15
18
|
option ["-L", "--list"], :flag, "list stacks" do
|
@@ -288,7 +291,7 @@ Clamp do
|
|
288
291
|
"Status" => stack.status,
|
289
292
|
"Parameters" => stack.parameters,
|
290
293
|
"Resources" => stack.resources,
|
291
|
-
"Outputs" => stack.outputs
|
294
|
+
"Outputs" => stack.outputs
|
292
295
|
}
|
293
296
|
display_data(data)
|
294
297
|
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
require "rake/tasklib"
|
2
|
+
|
3
|
+
module Stackup
|
4
|
+
|
5
|
+
# Declare Rake tasks for managing a stack.
|
6
|
+
#
|
7
|
+
class RakeTasks < Rake::TaskLib
|
8
|
+
|
9
|
+
attr_accessor :name
|
10
|
+
attr_accessor :stack
|
11
|
+
attr_accessor :template
|
12
|
+
attr_accessor :parameters
|
13
|
+
|
14
|
+
alias_method :namespace=, :name=
|
15
|
+
|
16
|
+
def initialize(name, template = nil)
|
17
|
+
@name = name
|
18
|
+
@stack = name
|
19
|
+
@template = template
|
20
|
+
yield self if block_given?
|
21
|
+
fail ArgumentError, "no name provided" unless @name
|
22
|
+
fail ArgumentError, "no template provided" unless @template
|
23
|
+
define
|
24
|
+
end
|
25
|
+
|
26
|
+
def stackup(*rest)
|
27
|
+
sh "stackup", stack, *rest
|
28
|
+
end
|
29
|
+
|
30
|
+
def define
|
31
|
+
namespace(name) do
|
32
|
+
|
33
|
+
up_args = ["-t", template]
|
34
|
+
up_deps = [template]
|
35
|
+
|
36
|
+
if parameters
|
37
|
+
up_args += ["-p", parameters]
|
38
|
+
up_deps += [parameters]
|
39
|
+
end
|
40
|
+
|
41
|
+
desc "Update #{stack} stack"
|
42
|
+
task "up" => up_deps do
|
43
|
+
stackup "up", *up_args
|
44
|
+
end
|
45
|
+
|
46
|
+
desc "Cancel update of #{stack} stack"
|
47
|
+
task "cancel" do
|
48
|
+
stackup "cancel-update"
|
49
|
+
end
|
50
|
+
|
51
|
+
desc "Show pending changes to #{stack} stack"
|
52
|
+
task "diff" => up_deps do
|
53
|
+
stackup "diff", *up_args
|
54
|
+
end
|
55
|
+
|
56
|
+
desc "Show #{stack} stack outputs and resources"
|
57
|
+
task "inspect" do
|
58
|
+
stackup "inspect"
|
59
|
+
end
|
60
|
+
|
61
|
+
desc "Delete #{stack} stack"
|
62
|
+
task "down" do
|
63
|
+
stackup "down"
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
data/lib/stackup/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stackup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Williams
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2016-02-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: aws-sdk-resources
|
@@ -105,6 +105,7 @@ files:
|
|
105
105
|
- lib/stackup.rb
|
106
106
|
- lib/stackup/error_handling.rb
|
107
107
|
- lib/stackup/errors.rb
|
108
|
+
- lib/stackup/rake_tasks.rb
|
108
109
|
- lib/stackup/service.rb
|
109
110
|
- lib/stackup/stack.rb
|
110
111
|
- lib/stackup/stack_watcher.rb
|
@@ -133,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
134
|
version: '0'
|
134
135
|
requirements: []
|
135
136
|
rubyforge_project:
|
136
|
-
rubygems_version: 2.
|
137
|
+
rubygems_version: 2.5.2
|
137
138
|
signing_key:
|
138
139
|
specification_version: 4
|
139
140
|
summary: Manage CloudFormation stacks
|