cfnpp 0.3.5 → 0.3.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.
Files changed (4) hide show
  1. checksums.yaml +7 -0
  2. data/bin/cfnpp +20 -2
  3. data/lib/cfnpp/transform.rb +1 -1
  4. metadata +21 -38
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 282590738c98b0f4020beb8e220242cb6cf2d454
4
+ data.tar.gz: 6b1f5f60c35ff5b18c54acea9ea25d4a3176167d
5
+ SHA512:
6
+ metadata.gz: 07b00e377c48b8c15f4fc0ebb1c351a0148b0d099373e7c6f4bd7bc2b7705aae6088e44447bfdac7cb118b0cc0fc3430ead750903834b66aba07c715cac2f2a7
7
+ data.tar.gz: 546f2cd43ff7e66164ac3835198db6a9749fb3f551b219760f90c0335c093d3464c6408c3e8d71892041cc176465a89c62c2468621395259eb604377c85af68e
data/bin/cfnpp CHANGED
@@ -52,6 +52,9 @@ eot
52
52
  opts.on('-c', '--conf PATH', 'use PATH instead of $basepath/conf/$environment_type for conf file') do |confpath|
53
53
  cli_opts[:confpath] = confpath
54
54
  end
55
+ opts.on('--git-revision-check', "skip update when the stack's current revision matches the new revision") do |revision|
56
+ cli_opts[:git_revision_check] = revision
57
+ end
55
58
  end
56
59
  optparse.parse!
57
60
 
@@ -146,10 +149,25 @@ eot
146
149
  opts['EnvironmentName'] = environment_name
147
150
  opts['EnvironmentType'] = environment_type
148
151
 
152
+ opts['Force'] = 'false'
149
153
  if cli_opts[:force]
150
154
  opts['Force'] = 'true'
151
- else
152
- opts['Force'] = 'true'
155
+ end
156
+
157
+ if cli_opts[:git_revision_check]
158
+ needs_update = false
159
+ if action == 'update' && stack.exists?
160
+ current_revision = stack.parameters['TemplateGitRevision']
161
+ #puts "Checking current stack git revision (#{current_revision}) against desired revision (#{opts['TemplateGitRevision']})"
162
+ if current_revision != opts['TemplateGitRevision']
163
+ needs_update = true
164
+ end
165
+ end
166
+
167
+ unless needs_update
168
+ puts "Skipping update for stack (#{stack_name}) because the stack's current revision (#{current_revision}) matches the new revision"
169
+ exit
170
+ end
153
171
  end
154
172
 
155
173
  uploader = CfnPP::Uploader.new('manta-cloudformation', stack_name)
@@ -174,7 +174,7 @@ module CfnPP
174
174
  inline = rec["inline"]
175
175
  name = rec["name"]
176
176
  rec.delete("inline")
177
- sub_params = rec["params"]
177
+ sub_params = rec["params"] || {}
178
178
  rec["result"] = self.class.new(inline, @filebase, sub_params.merge(@opts), name, @stack_url_base).as_template_result
179
179
  rec["Resources"] = {} if not rec["Resources"]
180
180
  rec["Resources"][name] = {
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cfnpp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
5
- prerelease:
4
+ version: 0.3.6
6
5
  platform: ruby
7
6
  authors:
8
7
  - Michael Bruce
@@ -10,141 +9,125 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2014-07-29 00:00:00.000000000 Z
12
+ date: 2014-08-01 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: aws-sdk
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
- - - ! '>='
18
+ - - ">="
21
19
  - !ruby/object:Gem::Version
22
20
  version: '0'
23
21
  type: :runtime
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
- - - ! '>='
25
+ - - ">="
29
26
  - !ruby/object:Gem::Version
30
27
  version: '0'
31
28
  - !ruby/object:Gem::Dependency
32
29
  name: json
33
30
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
31
  requirements:
36
- - - ! '>='
32
+ - - ">="
37
33
  - !ruby/object:Gem::Version
38
34
  version: '0'
39
35
  type: :runtime
40
36
  prerelease: false
41
37
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
38
  requirements:
44
- - - ! '>='
39
+ - - ">="
45
40
  - !ruby/object:Gem::Version
46
41
  version: '0'
47
42
  - !ruby/object:Gem::Dependency
48
43
  name: awesome_print
49
44
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
45
  requirements:
52
- - - ! '>='
46
+ - - ">="
53
47
  - !ruby/object:Gem::Version
54
48
  version: '0'
55
49
  type: :runtime
56
50
  prerelease: false
57
51
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
52
  requirements:
60
- - - ! '>='
53
+ - - ">="
61
54
  - !ruby/object:Gem::Version
62
55
  version: '0'
63
56
  - !ruby/object:Gem::Dependency
64
57
  name: travis
65
58
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
59
  requirements:
68
- - - ! '>='
60
+ - - ">="
69
61
  - !ruby/object:Gem::Version
70
62
  version: '0'
71
63
  type: :runtime
72
64
  prerelease: false
73
65
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
66
  requirements:
76
- - - ! '>='
67
+ - - ">="
77
68
  - !ruby/object:Gem::Version
78
69
  version: '0'
79
70
  - !ruby/object:Gem::Dependency
80
71
  name: dogapi
81
72
  requirement: !ruby/object:Gem::Requirement
82
- none: false
83
73
  requirements:
84
- - - ! '>='
74
+ - - ">="
85
75
  - !ruby/object:Gem::Version
86
76
  version: '0'
87
77
  type: :runtime
88
78
  prerelease: false
89
79
  version_requirements: !ruby/object:Gem::Requirement
90
- none: false
91
80
  requirements:
92
- - - ! '>='
81
+ - - ">="
93
82
  - !ruby/object:Gem::Version
94
83
  version: '0'
95
84
  - !ruby/object:Gem::Dependency
96
85
  name: ploy
97
86
  requirement: !ruby/object:Gem::Requirement
98
- none: false
99
87
  requirements:
100
- - - ! '>='
88
+ - - ">="
101
89
  - !ruby/object:Gem::Version
102
90
  version: '0'
103
91
  type: :runtime
104
92
  prerelease: false
105
93
  version_requirements: !ruby/object:Gem::Requirement
106
- none: false
107
94
  requirements:
108
- - - ! '>='
95
+ - - ">="
109
96
  - !ruby/object:Gem::Version
110
97
  version: '0'
111
- description: ! '["cfnpp", ["Michael Bruce", "Stephen J. Smith"]]'
98
+ description: '["cfnpp", ["Michael Bruce", "Stephen J. Smith"]]'
112
99
  email: mbruce@manta.com
113
100
  executables:
114
101
  - cfnpp
115
102
  extensions: []
116
103
  extra_rdoc_files: []
117
104
  files:
105
+ - bin/cfnpp
118
106
  - lib/cfnpp/replacer.rb
119
107
  - lib/cfnpp/templateresult.rb
120
108
  - lib/cfnpp/transform.rb
121
109
  - lib/cfnpp/uploader.rb
122
- - bin/cfnpp
123
110
  homepage:
124
111
  licenses: []
112
+ metadata: {}
125
113
  post_install_message:
126
114
  rdoc_options: []
127
115
  require_paths:
128
116
  - lib
129
117
  required_ruby_version: !ruby/object:Gem::Requirement
130
- none: false
131
118
  requirements:
132
- - - ! '>='
119
+ - - ">="
133
120
  - !ruby/object:Gem::Version
134
121
  version: '0'
135
- segments:
136
- - 0
137
- hash: 439810095925029723
138
122
  required_rubygems_version: !ruby/object:Gem::Requirement
139
- none: false
140
123
  requirements:
141
- - - ! '>='
124
+ - - ">="
142
125
  - !ruby/object:Gem::Version
143
126
  version: '0'
144
127
  requirements: []
145
128
  rubyforge_project:
146
- rubygems_version: 1.8.23
129
+ rubygems_version: 2.2.2
147
130
  signing_key:
148
- specification_version: 3
131
+ specification_version: 4
149
132
  summary: cfnpp
150
133
  test_files: []