stackit 0.1.9 → 0.1.10
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 +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
|