cfn-model 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e4980780e48883af420ef019bce841105f1c4c33f96e090c491296a2b9f74199
4
- data.tar.gz: 21a4292366a0363bec0a92113033f4f759399ca6e0c29063c0d6b5e17525ab90
3
+ metadata.gz: 7671033cb2d190bc7782352c1331f8529b1ec1ad3debe22802e3e4ef49d7faf9
4
+ data.tar.gz: 68949533edc714d14032fd4719ccd70dc71d5349f2b8e414a48f75fa31fa5dd5
5
5
  SHA512:
6
- metadata.gz: bc7e5193fd227a66df09aa86e8810fb019313e32e48834cee1a22931493887b4f8351370017a410058ffb2c149c91adafdc167757eff59904bd957846da2ebf9
7
- data.tar.gz: 312c9e00357b034832815b4d0b8148a00a33293de6b4055548b877305e0b9319e41a15a3f928470d02a48eb3c9c7af499f7984d834bf7ba4058779a7aedcab41
6
+ metadata.gz: '09be423398f6a8b9faba6765d12073c71309359902055a6cc3cf45048e3cd435221e0405ee86564022e7d0d9d0185a4218ceb622ff7f183ff2c39c2bdf0d4d28'
7
+ data.tar.gz: 4e7757f0c6f7c4a610e071bdd5e544ec345f9e7fc46513339daf217ee018c47d259866661216be662eb751655e82d2eb093bd8c8f628311fab936f285797f0df
@@ -281,7 +281,7 @@ class CfnParser
281
281
 
282
282
  def map_non_aws_resource_name_to_class_name(module_names)
283
283
  # this is a little hacky. we've been ignoring Custom so more for
284
- # backward compat. for Alexa and other transformed resources just jam the whole
284
+ # backward compat. for Alexa and other transformed resources just jam the whole
285
285
  # thing together
286
286
  if module_names.first == 'Custom'
287
287
  first_module_index = 1
@@ -308,7 +308,8 @@ class CfnParser
308
308
  else
309
309
  custom_resource_class_name = map_non_aws_resource_name_to_class_name(module_names)
310
310
  begin
311
- resource_class = Object.const_get custom_resource_class_name
311
+ custom_class = Object.const_get custom_resource_class_name
312
+ resource_class = custom_class if custom_class.is_a?(ModelElement)
312
313
  rescue NameError
313
314
  Object.const_set(custom_resource_class_name, resource_class)
314
315
  end
@@ -112,8 +112,14 @@ class CfnModel
112
112
  resource_name,
113
113
  with_line_numbers)
114
114
 
115
- cfn_hash['Resources'][resource_name] = lambda_function lambda_fn_params
116
-
115
+ cfn_hash['Resources'][resource_name] = lambda_function(
116
+ handler: lambda_fn_params[:handler],
117
+ code_bucket: lambda_fn_params[:code_bucket],
118
+ code_key: lambda_fn_params[:code_key],
119
+ role: lambda_fn_params[:role],
120
+ runtime: lambda_fn_params[:runtime],
121
+ with_line_numbers: lambda_fn_params[:with_line_numbers]
122
+ )
117
123
  unless serverless_function['Properties']['Role']
118
124
  cfn_hash['Resources'][resource_name + 'Role'] = function_role(serverless_function,
119
125
  resource_name,
@@ -122,6 +128,15 @@ class CfnModel
122
128
 
123
129
  transform_function_events(cfn_hash, serverless_function, resource_name, with_line_numbers) if \
124
130
  serverless_function['Properties']['Events']
131
+
132
+ # Handle passing along cfn-nag specific metadata. SAM itself does not support metadata during transformation.
133
+ # https://github.com/aws/serverless-application-model/issues/264
134
+ if serverless_function.key?('Metadata') && serverless_function['Metadata'].key?('cfn_nag')
135
+ cfn_hash['Resources'][resource_name]['Metadata'] = serverless_function['Metadata']
136
+ unless serverless_function['Properties']['Role']
137
+ cfn_hash['Resources'][resource_name + 'Role']['Metadata'] = serverless_function['Metadata']
138
+ end
139
+ end
125
140
  end
126
141
 
127
142
  def lambda_service_can_assume_role
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cfn-model
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Kascic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-05 00:00:00.000000000 Z
11
+ date: 2021-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -156,16 +156,17 @@ require_paths:
156
156
  - lib
157
157
  required_ruby_version: !ruby/object:Gem::Requirement
158
158
  requirements:
159
- - - "~>"
159
+ - - ">="
160
160
  - !ruby/object:Gem::Version
161
- version: '2.2'
161
+ version: 2.5.0
162
162
  required_rubygems_version: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - ">="
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  requirements: []
168
- rubygems_version: 3.1.2
168
+ rubyforge_project:
169
+ rubygems_version: 2.7.6
169
170
  signing_key:
170
171
  specification_version: 4
171
172
  summary: cfn-model