cfn-model 0.5.0 → 0.6.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 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