stackit 0.1.9 → 0.1.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +8 -8
- data/lib/stackit/stack/managed_stack.rb +5 -2
- data/lib/stackit/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 90de8c84a5d299ad1445243615e535ff5f416d71
|
4
|
+
data.tar.gz: 673a139a05083ee84278ad0888a403c316b301a8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 28ab5be9436da8060bfb9a33a62df8092dc12a1b9fe3df358e6dd458a157d76ff113b942dc69c926a6e5a8de42ea0f4432f56457847fdbc02302bb5ea12b26f7
|
7
|
+
data.tar.gz: 70eac4c9d33238d207b93676c283bad608bd6b0f91f298bf89ddc02175bb6b936e987de64eff9df68da0a77ed52d9a6df2a13950f2aed5dbe10c41a883500653
|
data/README.md
CHANGED
@@ -52,7 +52,7 @@ Your stack can `--depend` on existing stacks. Any resource, output, or parameter
|
|
52
52
|
|
53
53
|
User defined parameters allow you to define the parameters yourself using the `--parameters` option.
|
54
54
|
|
55
|
-
> User defined parameters override file parameters.
|
55
|
+
> User defined parameters override both file parameters and `--depends` parameters.
|
56
56
|
|
57
57
|
## Usage
|
58
58
|
|
@@ -63,26 +63,26 @@ StackIT ships with [Thor](http://whatisthor.com/) to provide a command line inte
|
|
63
63
|
# show top level commands
|
64
64
|
stackit help
|
65
65
|
|
66
|
-
# show options for create command
|
67
|
-
stackit help create
|
66
|
+
# show options for create-stack command
|
67
|
+
stackit help create-stack
|
68
68
|
|
69
|
-
|
69
|
+
###### Create a stack using a parameter file
|
70
70
|
|
71
71
|
stackit create-stack --stack-name mystack --template mytemplate.json --parameter-file mytemplate.parameters
|
72
72
|
|
73
|
-
|
73
|
+
###### Create a stack using `--depends` to reference resource, output and parameter values in the "myvpc" stack
|
74
74
|
|
75
75
|
stackit create-stack --stack-name mystack --template mytemplate.json --depends myvpc
|
76
76
|
|
77
|
-
|
77
|
+
###### Create a stack using user defined parameters
|
78
78
|
|
79
79
|
stackit create-stack --stack-name mystack --template mytemplate.json --parameters param1:value1 param2:value2
|
80
80
|
|
81
|
-
|
81
|
+
###### Create a stack using a parameter file, overriding parameters found in the "myvpc" resource, output or parameters.
|
82
82
|
|
83
83
|
stackit create-stack --stack-name mystack --template mytemplate.json --parameter-file mytemplate.parameters --depends myvpc
|
84
84
|
|
85
|
-
|
85
|
+
###### Create a stack using a parameter file, overriding those parameters with mapped parameters in the "myvpc" stack, and override both of those with user defined parameters.
|
86
86
|
|
87
87
|
stackit create-stack --stack-name mystack --template mytemplate.json --parameter-file mytemplate.parameters --depends myvpc --parameters param1:final_value
|
88
88
|
|
@@ -2,6 +2,7 @@ module Stackit
|
|
2
2
|
class ManagedStack < Stack
|
3
3
|
|
4
4
|
attr_accessor :template
|
5
|
+
attr_accessor :template_path
|
5
6
|
attr_accessor :file_parameters
|
6
7
|
attr_accessor :user_defined_parameters
|
7
8
|
attr_accessor :parameter_map
|
@@ -14,7 +15,7 @@ module Stackit
|
|
14
15
|
|
15
16
|
def initialize(options={})
|
16
17
|
super(options)
|
17
|
-
self.
|
18
|
+
self.template_path = options[:template]
|
18
19
|
self.user_defined_parameters = symbolized_user_defined_parameters(options[:user_defined_parameters])
|
19
20
|
self.parameter_map = symbolized_parameter_map(options[:parameter_map])
|
20
21
|
self.stack_name = options[:stack_name] || default_stack_name
|
@@ -160,8 +161,9 @@ module Stackit
|
|
160
161
|
self.class.name.demodulize
|
161
162
|
end
|
162
163
|
|
163
|
-
def create_template(t)
|
164
|
+
def create_template(t, action)
|
164
165
|
template_path = t ? t : File.join(Dir.pwd, 'cloudformation', "#{stack_name.underscore.dasherize}.json")
|
166
|
+
raise "Unable to locate template: #{template_path}" unless (template.nil? && action == :delete_stack)
|
165
167
|
return unless File.exist?(template_path)
|
166
168
|
template = Template.new(
|
167
169
|
:cloudformation => cloudformation,
|
@@ -210,6 +212,7 @@ module Stackit
|
|
210
212
|
|
211
213
|
def cloudformation_request(action)
|
212
214
|
Stackit.logger.debug "ManagedStack CloudFormation API request: #{action}"
|
215
|
+
self.template = create_template(template_path, action);
|
213
216
|
cloudformation_options = create_cloudformation_options(action)
|
214
217
|
if debug
|
215
218
|
Stackit.logger.debug "#{action} request parameters: "
|
data/lib/stackit/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stackit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Hahn
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-04-
|
11
|
+
date: 2016-04-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|